Coverage Report

Created: 2024-11-03 01:37

/src/scnlib/include/scn/scan.h
Line
Count
Source (jump to first uncovered line)
1
// Copyright 2017 Elias Kosunen
2
//
3
// Licensed under the Apache License, Version 2.0 (the "License");
4
// you may not use this file except in compliance with the License.
5
// You may obtain a copy of the License at
6
//
7
//     https://www.apache.org/licenses/LICENSE-2.0
8
//
9
// Unless required by applicable law or agreed to in writing, software
10
// distributed under the License is distributed on an "AS IS" BASIS,
11
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
// See the License for the specific language governing permissions and
13
// limitations under the License.
14
//
15
// This file is a part of scnlib:
16
//     https://github.com/eliaskosunen/scnlib
17
18
#pragma once
19
20
// Includes <cassert>, <cstddef>, <cstdint>, and <type_traits>
21
#include <scn/fwd.h>
22
23
#include <array>
24
#include <cstdio>
25
#include <cstring>
26
#include <iterator>
27
#include <limits>
28
#include <optional>
29
#include <string>
30
#include <string_view>
31
#include <tuple>
32
33
/////////////////////////////////////////////////////////////////
34
// <expected> implementation
35
/////////////////////////////////////////////////////////////////
36
37
// The following implementation of expected is based on TartanLlama/expected,
38
// but is heavily modified.
39
//
40
// The original source is here:
41
//     https://github.com/TartanLlama/expected
42
// which is licensed under CC0 (Public Domain).
43
44
namespace scn {
45
SCN_BEGIN_NAMESPACE
46
47
/////////////////////////////////////////////////////////////////
48
// Metaprogramming facilities
49
/////////////////////////////////////////////////////////////////
50
51
namespace detail {
52
53
template <typename T>
54
using integer_type_for_char =
55
    std::conditional_t<std::is_signed_v<T>, int, unsigned>;
56
57
template <typename T, template <typename...> class Templ>
58
struct is_specialization_of_impl : std::false_type {};
59
template <typename... T, template <typename...> class Templ>
60
struct is_specialization_of_impl<Templ<T...>, Templ> : std::true_type {};
61
62
template <typename T, template <typename...> class Templ>
63
using is_specialization_of =
64
    is_specialization_of_impl<remove_cvref_t<T>, Templ>;
65
template <typename T, template <typename...> class Templ>
66
inline constexpr bool is_specialization_of_v =
67
    is_specialization_of<T, Templ>::value;
68
69
// from mp11:
70
71
template <typename T>
72
struct mp_identity {
73
    using type = T;
74
};
75
template <typename T>
76
using mp_identity_t = typename mp_identity<T>::type;
77
78
template <bool B>
79
using mp_bool = std::integral_constant<bool, B>;
80
template <typename T>
81
using mp_to_bool = mp_bool<static_cast<bool>(T::value)>;
82
template <typename T>
83
using mp_not = mp_bool<!T::value>;
84
85
template <bool C, typename T, typename... E>
86
struct mp_if_c_impl;
87
template <typename T, typename... E>
88
struct mp_if_c_impl<true, T, E...> {
89
    using type = T;
90
};
91
template <typename T, typename E>
92
struct mp_if_c_impl<false, T, E> {
93
    using type = E;
94
};
95
96
template <bool C, typename T, typename... E>
97
using mp_if_c = typename mp_if_c_impl<C, T, E...>::type;
98
template <typename C, typename T, typename... E>
99
using mp_if = typename mp_if_c_impl<static_cast<bool>(C::value), T, E...>::type;
100
101
template <template <typename...> class F, typename... T>
102
struct mp_valid_impl {
103
    template <template <typename...> class G, typename = G<T...>>
104
    static std::true_type check(int);
105
    template <template <typename...> class>
106
    static std::false_type check(...);
107
108
    using type = decltype(check<F>(0));
109
};
110
111
template <template <typename...> class F, typename... T>
112
using mp_valid = typename mp_valid_impl<F, T...>::type;
113
template <template <typename...> class F, typename... T>
114
inline constexpr bool mp_valid_v = mp_valid<F, T...>::value;
115
116
struct mp_nonesuch {};
117
template <template <typename...> class F, typename... T>
118
struct mp_defer_impl {
119
    using type = F<T...>;
120
};
121
122
template <template <typename...> class F, typename... T>
123
using mp_defer = mp_if<mp_valid<F, T...>, mp_defer_impl<F, T...>, mp_nonesuch>;
124
125
template <bool C, class T, template <class...> class F, class... U>
126
struct mp_eval_if_c_impl;
127
128
template <class T, template <class...> class F, class... U>
129
struct mp_eval_if_c_impl<true, T, F, U...> {
130
    using type = T;
131
};
132
133
template <class T, template <class...> class F, class... U>
134
struct mp_eval_if_c_impl<false, T, F, U...> : mp_defer<F, U...> {};
135
136
template <bool C, class T, template <class...> class F, class... U>
137
using mp_eval_if_c = typename mp_eval_if_c_impl<C, T, F, U...>::type;
138
template <class C, class T, template <class...> class F, class... U>
139
using mp_eval_if =
140
    typename mp_eval_if_c_impl<static_cast<bool>(C::value), T, F, U...>::type;
141
template <class C, class T, class Q, class... U>
142
using mp_eval_if_q = typename mp_eval_if_c_impl<static_cast<bool>(C::value),
143
                                                T,
144
                                                Q::template fn,
145
                                                U...>::type;
146
147
// mp_eval_if_not
148
template <class C, class T, template <class...> class F, class... U>
149
using mp_eval_if_not = mp_eval_if<mp_not<C>, T, F, U...>;
150
template <class C, class T, class Q, class... U>
151
using mp_eval_if_not_q = mp_eval_if<mp_not<C>, T, Q::template fn, U...>;
152
153
// mp_eval_or
154
template <class T, template <class...> class F, class... U>
155
using mp_eval_or = mp_eval_if_not<mp_valid<F, U...>, T, F, U...>;
156
template <class T, class Q, class... U>
157
using mp_eval_or_q = mp_eval_or<T, Q::template fn, U...>;
158
159
// mp_valid_and_true
160
template <template <class...> class F, class... T>
161
using mp_valid_and_true = mp_eval_or<std::false_type, F, T...>;
162
template <class Q, class... T>
163
using mp_valid_and_true_q = mp_valid_and_true<Q::template fn, T...>;
164
165
// extension
166
template <template <typename...> class F, typename... T>
167
using mp_valid_result =
168
    mp_if<mp_valid<F, T...>, mp_defer_impl<F, T...>, mp_identity<void>>;
169
template <template <typename...> class F, typename... T>
170
using mp_valid_result_t = typename mp_valid_result<F, T...>::type;
171
172
/////////////////////////////////////////////////////////////////
173
// pointer_traits and to_address
174
/////////////////////////////////////////////////////////////////
175
176
template <typename Ptr, typename>
177
struct pointer_traits {};
178
179
template <typename T>
180
struct pointer_traits<T*, void> {
181
    using pointer = T*;
182
    using element_type = T;
183
    using difference_type = std::ptrdiff_t;
184
185
    template <typename U>
186
    using rebind = U*;
187
188
    template <typename U = T, std::enable_if_t<!std::is_void_v<U>>* = nullptr>
189
    static constexpr pointer pointer_to(U& r) noexcept
190
    {
191
        return &r;
192
    }
193
194
    SCN_FORCE_INLINE static constexpr pointer to_address(pointer p) noexcept
195
    {
196
        return p;
197
    }
198
};
199
200
template <typename Ptr>
201
using apply_member_difference_type = typename Ptr::difference_type;
202
template <typename Ptr>
203
using get_member_difference_type =
204
    mp_eval_or<std::ptrdiff_t, apply_member_difference_type, Ptr>;
205
206
template <typename Ptr, typename ElementType>
207
struct pointer_traits_generic_base {
208
    using pointer = Ptr;
209
    using element_type = ElementType;
210
211
    using difference_type = get_member_difference_type<Ptr>;
212
    static_assert(std::is_integral_v<difference_type>);
213
214
    // no rebind (TODO?)
215
216
    template <typename P = Ptr>
217
    static auto pointer_to(ElementType& r) -> decltype(P::pointer_to(r))
218
    {
219
        return Ptr::pointer_to(r);
220
    }
221
};
222
223
template <typename It, typename = void>
224
struct wrapped_pointer_iterator;
225
226
#ifdef _GLIBCXX_DEBUG
227
template <typename Elem, typename Container>
228
struct wrapped_pointer_iterator<__gnu_debug::_Safe_iterator<Elem*, Container>> {
229
    SCN_FORCE_INLINE static constexpr auto to_address(
230
        const __gnu_debug::_Safe_iterator<Elem*, Container>& it) noexcept
231
    {
232
        return it.base();
233
    }
234
};
235
#endif
236
#if SCN_STDLIB_GLIBCXX
237
template <typename Elem, typename Container>
238
struct wrapped_pointer_iterator<
239
    __gnu_cxx::__normal_iterator<Elem*, Container>> {
240
    SCN_FORCE_INLINE static constexpr auto to_address(
241
        const __gnu_cxx::__normal_iterator<Elem*, Container>& it) noexcept
242
    {
243
        return it.base();
244
    }
245
};
246
#endif
247
#if SCN_STDLIB_LIBCPP
248
template <typename Elem>
249
struct wrapped_pointer_iterator<std::__wrap_iter<Elem*>> {
250
    SCN_FORCE_INLINE static constexpr auto to_address(
251
        const std::__wrap_iter<Elem*>& it) noexcept
252
    {
253
        return it.base();
254
    }
255
};
256
#endif
257
258
template <typename I>
259
using apply_deref = decltype(*SCN_DECLVAL(I&));
260
template <typename I>
261
using apply_incr = decltype(++SCN_DECLVAL(I&));
262
template <typename I>
263
using apply_member_unwrapped = decltype(SCN_DECLVAL(I&)._Unwrapped());
264
template <typename It>
265
struct wrapped_pointer_iterator<
266
    It,
267
    std::enable_if_t<mp_valid_v<apply_deref, It> &&
268
                     mp_valid_v<apply_incr, It> &&
269
                     mp_valid_v<apply_member_unwrapped, It>>> {
270
    SCN_FORCE_INLINE static constexpr auto to_address(const It& it) noexcept
271
    {
272
        return it._Unwrapped();
273
    }
274
};
275
276
template <typename I>
277
using apply_member_to_address =
278
    decltype(wrapped_pointer_iterator<I>::to_address(SCN_DECLVAL(const I&)));
279
280
template <typename Iterator>
281
struct pointer_traits<
282
    Iterator,
283
    std::enable_if_t<mp_valid_v<apply_member_to_address, Iterator>>>
284
    : pointer_traits_generic_base<
285
          Iterator,
286
          std::remove_reference_t<decltype(*SCN_DECLVAL(Iterator&))>> {
287
    SCN_FORCE_INLINE static constexpr auto to_address(
288
        const Iterator& it) noexcept
289
    {
290
        return wrapped_pointer_iterator<Iterator>::to_address(it);
291
    }
292
};
293
294
template <typename It>
295
using apply_ptr_traits_to_address =
296
    decltype(pointer_traits<It>::to_address(SCN_DECLVAL(const It&)));
297
template <typename It>
298
inline constexpr bool can_make_address_from_iterator =
299
    std::is_pointer_v<mp_valid_result_t<apply_ptr_traits_to_address, It>>;
300
301
template <typename T>
302
SCN_FORCE_INLINE constexpr T* to_address_impl(T* p, priority_tag<2>) noexcept
303
268M
{
304
268M
    return p;
305
268M
}
char const* scn::v3::detail::to_address_impl<char const>(char const*, scn::v3::detail::priority_tag<2ul>)
Line
Count
Source
303
45.8M
{
304
45.8M
    return p;
305
45.8M
}
wchar_t const* scn::v3::detail::to_address_impl<wchar_t const>(wchar_t const*, scn::v3::detail::priority_tag<2ul>)
Line
Count
Source
303
222M
{
304
222M
    return p;
305
222M
}
306
template <typename Ptr>
307
SCN_FORCE_INLINE constexpr auto to_address_impl(const Ptr& p,
308
                                                priority_tag<1>) noexcept
309
    -> decltype(::scn::detail::pointer_traits<Ptr>::to_address(p))
310
{
311
    return ::scn::detail::pointer_traits<Ptr>::to_address(p);
312
}
313
template <typename Ptr>
314
SCN_FORCE_INLINE constexpr auto to_address_impl(const Ptr& p,
315
                                                priority_tag<0>) noexcept
316
    -> decltype(::scn::detail::to_address_impl(p.operator->(),
317
                                               priority_tag<2>{}))
318
{
319
    return ::scn::detail::to_address_impl(p.operator->(), priority_tag<2>{});
320
}
321
322
template <typename Ptr>
323
SCN_FORCE_INLINE constexpr auto to_address(Ptr&& p) noexcept
324
    -> decltype(::scn::detail::to_address_impl(SCN_FWD(p), priority_tag<2>{}))
325
268M
{
326
268M
    return ::scn::detail::to_address_impl(SCN_FWD(p), priority_tag<2>{});
327
268M
}
_ZN3scn2v36detail10to_addressIRPKcEEDTclgssr3scn6detailE15to_address_implscDtfp_Efp_tlNS1_12priority_tagILm2EEEEEEOT_
Line
Count
Source
325
34.6M
{
326
34.6M
    return ::scn::detail::to_address_impl(SCN_FWD(p), priority_tag<2>{});
327
34.6M
}
_ZN3scn2v36detail10to_addressIPKcEEDTclgssr3scn6detailE15to_address_implscDtfp_Efp_tlNS1_12priority_tagILm2EEEEEEOT_
Line
Count
Source
325
11.1M
{
326
11.1M
    return ::scn::detail::to_address_impl(SCN_FWD(p), priority_tag<2>{});
327
11.1M
}
_ZN3scn2v36detail10to_addressIPKwEEDTclgssr3scn6detailE15to_address_implscDtfp_Efp_tlNS1_12priority_tagILm2EEEEEEOT_
Line
Count
Source
325
7.22M
{
326
7.22M
    return ::scn::detail::to_address_impl(SCN_FWD(p), priority_tag<2>{});
327
7.22M
}
_ZN3scn2v36detail10to_addressIRPKwEEDTclgssr3scn6detailE15to_address_implscDtfp_Efp_tlNS1_12priority_tagILm2EEEEEEOT_
Line
Count
Source
325
215M
{
326
215M
    return ::scn::detail::to_address_impl(SCN_FWD(p), priority_tag<2>{});
327
215M
}
328
329
}  // namespace detail
330
331
template <typename E>
332
class SCN_TRIVIAL_ABI unexpected {
333
    static_assert(std::is_destructible_v<E>);
334
335
public:
336
    unexpected() = delete;
337
338
    template <
339
        typename Err = E,
340
        typename = std::enable_if_t<!std::is_same_v<Err, unexpected> &&
341
                                    !std::is_same_v<Err, std::in_place_t> &&
342
                                    std::is_constructible_v<E, Err>>>
343
    explicit constexpr unexpected(Err&& e) noexcept(
344
        std::is_nothrow_constructible_v<E, Err>)
345
18.9M
        : m_unexpected(std::forward<Err>(e))
346
29.6M
    {
347
29.6M
        SCN_UNLIKELY_ATTR SCN_UNUSED(m_unexpected);
348
29.6M
    }
scn::v3::unexpected<scn::v3::scan_error>::unexpected<scn::v3::scan_error&, void>(scn::v3::scan_error&)
Line
Count
Source
345
6.72M
        : m_unexpected(std::forward<Err>(e))
346
6.72M
    {
347
6.72M
        SCN_UNLIKELY_ATTR SCN_UNUSED(m_unexpected);
348
6.72M
    }
scn::v3::unexpected<scn::v3::scan_error>::unexpected<scn::v3::scan_error, void>(scn::v3::scan_error&&)
Line
Count
Source
345
451k
        : m_unexpected(std::forward<Err>(e))
346
451k
    {
347
451k
        SCN_UNLIKELY_ATTR SCN_UNUSED(m_unexpected);
348
451k
    }
scn::v3::unexpected<scn::v3::impl::parse_error>::unexpected<scn::v3::impl::parse_error, void>(scn::v3::impl::parse_error&&)
Line
Count
Source
345
74.5k
        : m_unexpected(std::forward<Err>(e))
346
74.5k
    {
347
74.5k
        SCN_UNLIKELY_ATTR SCN_UNUSED(m_unexpected);
348
74.5k
    }
scn::v3::unexpected<scn::v3::impl::parse_error>::unexpected<scn::v3::impl::parse_error&, void>(scn::v3::impl::parse_error&)
Line
Count
Source
345
3.49M
        : m_unexpected(std::forward<Err>(e))
346
3.49M
    {
347
3.49M
        SCN_UNLIKELY_ATTR SCN_UNUSED(m_unexpected);
348
3.49M
    }
scn::v3::unexpected<scn::v3::impl::eof_error>::unexpected<scn::v3::impl::eof_error, void>(scn::v3::impl::eof_error&&)
Line
Count
Source
345
195k
        : m_unexpected(std::forward<Err>(e))
346
195k
    {
347
195k
        SCN_UNLIKELY_ATTR SCN_UNUSED(m_unexpected);
348
195k
    }
scn::v3::unexpected<scn::v3::impl::eof_error>::unexpected<scn::v3::impl::eof_error&, void>(scn::v3::impl::eof_error&)
Line
Count
Source
345
110k
        : m_unexpected(std::forward<Err>(e))
346
110k
    {
347
110k
        SCN_UNLIKELY_ATTR SCN_UNUSED(m_unexpected);
348
110k
    }
scn::v3::unexpected<scn::v3::impl::parse_error::code>::unexpected<scn::v3::impl::parse_error::code, void>(scn::v3::impl::parse_error::code&&)
Line
Count
Source
345
18.6M
        : m_unexpected(std::forward<Err>(e))
346
18.6M
    {
347
18.6M
        SCN_UNLIKELY_ATTR SCN_UNUSED(m_unexpected);
348
18.6M
    }
349
350
    template <typename... Args,
351
              typename = std::enable_if_t<std::is_constructible_v<E, Args...>>>
352
    explicit constexpr unexpected(std::in_place_t, Args&&... args) noexcept(
353
        std::is_nothrow_constructible_v<E, Args...>)
354
33.3M
        : m_unexpected(std::forward<Args>(args)...)
355
33.6M
    {
356
33.6M
        SCN_UNLIKELY_ATTR SCN_UNUSED(m_unexpected);
357
33.6M
    }
scn::v3::unexpected<scn::v3::scan_error>::unexpected<scn::v3::scan_error, void>(std::__1::in_place_t, scn::v3::scan_error&&)
Line
Count
Source
354
10.8M
        : m_unexpected(std::forward<Args>(args)...)
355
10.8M
    {
356
10.8M
        SCN_UNLIKELY_ATTR SCN_UNUSED(m_unexpected);
357
10.8M
    }
scn::v3::unexpected<scn::v3::impl::parse_error>::unexpected<scn::v3::impl::parse_error, void>(std::__1::in_place_t, scn::v3::impl::parse_error&&)
Line
Count
Source
354
3.76M
        : m_unexpected(std::forward<Args>(args)...)
355
3.76M
    {
356
3.76M
        SCN_UNLIKELY_ATTR SCN_UNUSED(m_unexpected);
357
3.76M
    }
scn::v3::unexpected<scn::v3::impl::parse_error>::unexpected<scn::v3::impl::parse_error::code, void>(std::__1::in_place_t, scn::v3::impl::parse_error::code&&)
Line
Count
Source
354
18.6M
        : m_unexpected(std::forward<Args>(args)...)
355
18.6M
    {
356
18.6M
        SCN_UNLIKELY_ATTR SCN_UNUSED(m_unexpected);
357
18.6M
    }
358
359
    SCN_NODISCARD constexpr E& error() & noexcept
360
47.2M
    {
361
47.2M
        return m_unexpected;
362
47.2M
    }
scn::v3::unexpected<scn::v3::scan_error>::error() &
Line
Count
Source
360
13.4M
    {
361
13.4M
        return m_unexpected;
362
13.4M
    }
scn::v3::unexpected<scn::v3::impl::eof_error>::error() &
Line
Count
Source
360
612k
    {
361
612k
        return m_unexpected;
362
612k
    }
scn::v3::unexpected<scn::v3::impl::parse_error>::error() &
Line
Count
Source
360
14.5M
    {
361
14.5M
        return m_unexpected;
362
14.5M
    }
scn::v3::unexpected<scn::v3::impl::parse_error::code>::error() &
Line
Count
Source
360
18.6M
    {
361
18.6M
        return m_unexpected;
362
18.6M
    }
363
    SCN_NODISCARD constexpr const E& error() const& noexcept
364
0
    {
365
0
        return m_unexpected;
366
0
    }
Unexecuted instantiation: scn::v3::unexpected<scn::v3::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v3::unexpected<scn::v3::impl::parse_error>::error() const &
367
368
    SCN_NODISCARD constexpr E&& error() && noexcept
369
    {
370
        return std::move(m_unexpected);
371
    }
372
    SCN_NODISCARD constexpr const E&& error() const&& noexcept
373
    {
374
        return std::move(m_unexpected);
375
    }
376
377
private:
378
    E m_unexpected;
379
};
380
381
template <typename E>
382
unexpected(E) -> unexpected<E>;
383
384
struct unexpect_t {};
385
inline constexpr unexpect_t unexpect{};
386
387
namespace detail {
388
template <typename T, typename... Args>
389
T* construct_at(T* p, Args&&... args) noexcept(
390
    std::is_nothrow_constructible_v<T, Args...>)
391
2.22M
{
392
2.22M
    return ::new (const_cast<void*>(static_cast<const volatile void*>(p)))
393
2.22M
        T(std::forward<Args>(args)...);
394
2.22M
}
scn::v3::unexpected<scn::v3::scan_error>* scn::v3::detail::construct_at<scn::v3::unexpected<scn::v3::scan_error>, std::__1::in_place_t const&, scn::v3::scan_error>(scn::v3::unexpected<scn::v3::scan_error>*, std::__1::in_place_t const&, scn::v3::scan_error&&)
Line
Count
Source
391
184k
{
392
184k
    return ::new (const_cast<void*>(static_cast<const volatile void*>(p)))
393
184k
        T(std::forward<Args>(args)...);
394
184k
}
Unexecuted instantiation: std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >* scn::v3::detail::construct_at<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*, std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
std::__1::tuple<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >* scn::v3::detail::construct_at<std::__1::tuple<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::tuple<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*, std::__1::tuple<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
391
58.2k
{
392
58.2k
    return ::new (const_cast<void*>(static_cast<const volatile void*>(p)))
393
58.2k
        T(std::forward<Args>(args)...);
394
58.2k
}
Unexecuted instantiation: std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >* scn::v3::detail::construct_at<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*, std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >* scn::v3::detail::construct_at<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*, std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
391
58.2k
{
392
58.2k
    return ::new (const_cast<void*>(static_cast<const volatile void*>(p)))
393
58.2k
        T(std::forward<Args>(args)...);
394
58.2k
}
Unexecuted instantiation: std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >* scn::v3::detail::construct_at<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*, std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
std::__1::tuple<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >* scn::v3::detail::construct_at<std::__1::tuple<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::tuple<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*, std::__1::tuple<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
391
596
{
392
596
    return ::new (const_cast<void*>(static_cast<const volatile void*>(p)))
393
596
        T(std::forward<Args>(args)...);
394
596
}
Unexecuted instantiation: std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >* scn::v3::detail::construct_at<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*, std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >* scn::v3::detail::construct_at<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*, std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
391
596
{
392
596
    return ::new (const_cast<void*>(static_cast<const volatile void*>(p)))
393
596
        T(std::forward<Args>(args)...);
394
596
}
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >* scn::v3::detail::construct_at<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
391
111k
{
392
111k
    return ::new (const_cast<void*>(static_cast<const volatile void*>(p)))
393
111k
        T(std::forward<Args>(args)...);
394
111k
}
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >* scn::v3::detail::construct_at<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > > >(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >*, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >&&)
Line
Count
Source
391
990
{
392
990
    return ::new (const_cast<void*>(static_cast<const volatile void*>(p)))
393
990
        T(std::forward<Args>(args)...);
394
990
}
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >* scn::v3::detail::construct_at<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
391
474
{
392
474
    return ::new (const_cast<void*>(static_cast<const volatile void*>(p)))
393
474
        T(std::forward<Args>(args)...);
394
474
}
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >* scn::v3::detail::construct_at<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > > >(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >*, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >&&)
Line
Count
Source
391
834k
{
392
834k
    return ::new (const_cast<void*>(static_cast<const volatile void*>(p)))
393
834k
        T(std::forward<Args>(args)...);
394
834k
}
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >* scn::v3::detail::construct_at<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
391
138k
{
392
138k
    return ::new (const_cast<void*>(static_cast<const volatile void*>(p)))
393
138k
        T(std::forward<Args>(args)...);
394
138k
}
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >* scn::v3::detail::construct_at<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > > >(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >*, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >&&)
Line
Count
Source
391
833k
{
392
833k
    return ::new (const_cast<void*>(static_cast<const volatile void*>(p)))
393
833k
        T(std::forward<Args>(args)...);
394
833k
}
395
template <typename T>
396
void destroy_at(T* p) noexcept
397
2.22M
{
398
    if constexpr (std::is_array_v<T>) {
399
        for (auto& elem : *p) {
400
            scn::detail::destroy_at(&elem);
401
        }
402
    }
403
2.22M
    else {
404
2.22M
        p->~T();
405
2.22M
    }
406
2.22M
}
Unexecuted instantiation: void scn::v3::detail::destroy_at<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*)
void scn::v3::detail::destroy_at<scn::v3::unexpected<scn::v3::scan_error> >(scn::v3::unexpected<scn::v3::scan_error>*)
Line
Count
Source
397
184k
{
398
    if constexpr (std::is_array_v<T>) {
399
        for (auto& elem : *p) {
400
            scn::detail::destroy_at(&elem);
401
        }
402
    }
403
184k
    else {
404
184k
        p->~T();
405
184k
    }
406
184k
}
void scn::v3::detail::destroy_at<std::__1::tuple<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*)
Line
Count
Source
397
58.2k
{
398
    if constexpr (std::is_array_v<T>) {
399
        for (auto& elem : *p) {
400
            scn::detail::destroy_at(&elem);
401
        }
402
    }
403
58.2k
    else {
404
58.2k
        p->~T();
405
58.2k
    }
406
58.2k
}
Unexecuted instantiation: void scn::v3::detail::destroy_at<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*)
void scn::v3::detail::destroy_at<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*)
Line
Count
Source
397
58.2k
{
398
    if constexpr (std::is_array_v<T>) {
399
        for (auto& elem : *p) {
400
            scn::detail::destroy_at(&elem);
401
        }
402
    }
403
58.2k
    else {
404
58.2k
        p->~T();
405
58.2k
    }
406
58.2k
}
Unexecuted instantiation: void scn::v3::detail::destroy_at<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*)
void scn::v3::detail::destroy_at<std::__1::tuple<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*)
Line
Count
Source
397
596
{
398
    if constexpr (std::is_array_v<T>) {
399
        for (auto& elem : *p) {
400
            scn::detail::destroy_at(&elem);
401
        }
402
    }
403
596
    else {
404
596
        p->~T();
405
596
    }
406
596
}
Unexecuted instantiation: void scn::v3::detail::destroy_at<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*)
void scn::v3::detail::destroy_at<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*)
Line
Count
Source
397
596
{
398
    if constexpr (std::is_array_v<T>) {
399
        for (auto& elem : *p) {
400
            scn::detail::destroy_at(&elem);
401
        }
402
    }
403
596
    else {
404
596
        p->~T();
405
596
    }
406
596
}
void scn::v3::detail::destroy_at<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*)
Line
Count
Source
397
111k
{
398
    if constexpr (std::is_array_v<T>) {
399
        for (auto& elem : *p) {
400
            scn::detail::destroy_at(&elem);
401
        }
402
    }
403
111k
    else {
404
111k
        p->~T();
405
111k
    }
406
111k
}
void scn::v3::detail::destroy_at<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > > >(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >*)
Line
Count
Source
397
990
{
398
    if constexpr (std::is_array_v<T>) {
399
        for (auto& elem : *p) {
400
            scn::detail::destroy_at(&elem);
401
        }
402
    }
403
990
    else {
404
990
        p->~T();
405
990
    }
406
990
}
void scn::v3::detail::destroy_at<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*)
Line
Count
Source
397
474
{
398
    if constexpr (std::is_array_v<T>) {
399
        for (auto& elem : *p) {
400
            scn::detail::destroy_at(&elem);
401
        }
402
    }
403
474
    else {
404
474
        p->~T();
405
474
    }
406
474
}
void scn::v3::detail::destroy_at<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > > >(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >*)
Line
Count
Source
397
834k
{
398
    if constexpr (std::is_array_v<T>) {
399
        for (auto& elem : *p) {
400
            scn::detail::destroy_at(&elem);
401
        }
402
    }
403
834k
    else {
404
834k
        p->~T();
405
834k
    }
406
834k
}
void scn::v3::detail::destroy_at<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*)
Line
Count
Source
397
138k
{
398
    if constexpr (std::is_array_v<T>) {
399
        for (auto& elem : *p) {
400
            scn::detail::destroy_at(&elem);
401
        }
402
    }
403
138k
    else {
404
138k
        p->~T();
405
138k
    }
406
138k
}
void scn::v3::detail::destroy_at<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > > >(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >*)
Line
Count
Source
397
833k
{
398
    if constexpr (std::is_array_v<T>) {
399
        for (auto& elem : *p) {
400
            scn::detail::destroy_at(&elem);
401
        }
402
    }
403
833k
    else {
404
833k
        p->~T();
405
833k
    }
406
833k
}
407
408
struct deferred_init_tag_t {};
409
static constexpr deferred_init_tag_t deferred_init_tag{};
410
411
template <typename T,
412
          typename E,
413
          bool IsTriviallyDestructible = std::is_trivially_destructible_v<T> &&
414
                                         std::is_trivially_destructible_v<E>>
415
struct expected_storage_base;
416
417
template <typename T, typename E>
418
struct SCN_TRIVIAL_ABI expected_storage_base<T, E, true> {
419
    constexpr expected_storage_base() noexcept(
420
        std::is_nothrow_default_constructible_v<T>)
421
        : m_value(T{}), m_has_value(true)
422
    {
423
    }
424
425
    constexpr explicit expected_storage_base(deferred_init_tag_t) noexcept
426
        : m_deferred_init(), m_has_value(false)
427
    {
428
    }
429
430
    template <typename... Args,
431
              typename = std::enable_if_t<std::is_constructible_v<T, Args...>>>
432
    constexpr explicit expected_storage_base(
433
        std::in_place_t,
434
        Args&&... args) noexcept(std::is_nothrow_constructible_v<T, Args...>)
435
99.4M
        : m_value(std::forward<Args>(args)...), m_has_value(true)
436
99.4M
    {
437
99.4M
    }
scn::v3::detail::expected_storage_base<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, void>(std::__1::in_place_t, scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>&&)
Line
Count
Source
435
1.54M
        : m_value(std::forward<Args>(args)...), m_has_value(true)
436
1.54M
    {
437
1.54M
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>&&)
Line
Count
Source
435
59.6k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
436
59.6k
    {
437
59.6k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>&&)
Line
Count
Source
435
50.5k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
436
50.5k
    {
437
50.5k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, int>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, int>&&)
Line
Count
Source
435
72.0k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
436
72.0k
    {
437
72.0k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>&&)
Line
Count
Source
435
56.0k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
436
56.0k
    {
437
56.0k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long long>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long long>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long long>&&)
Line
Count
Source
435
73.5k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
436
73.5k
    {
437
73.5k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>&&)
Line
Count
Source
435
56.7k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
436
56.7k
    {
437
56.7k
    }
scn::v3::detail::expected_storage_base<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v3::scan_error, true>::expected_storage_base<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, void>(std::__1::in_place_t, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >&&)
Line
Count
Source
435
1.61M
        : m_value(std::forward<Args>(args)...), m_has_value(true)
436
1.61M
    {
437
1.61M
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>&&)
Line
Count
Source
435
59.6k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
436
59.6k
    {
437
59.6k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>&&)
Line
Count
Source
435
50.5k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
436
50.5k
    {
437
50.5k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>&&)
Line
Count
Source
435
71.5k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
436
71.5k
    {
437
71.5k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>&&)
Line
Count
Source
435
56.0k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
436
56.0k
    {
437
56.0k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>&&)
Line
Count
Source
435
72.9k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
436
72.9k
    {
437
72.9k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>&&)
Line
Count
Source
435
56.8k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
436
56.8k
    {
437
56.8k
    }
scn::v3::detail::expected_storage_base<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void>(std::__1::in_place_t, scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&&)
Line
Count
Source
435
2.05M
        : m_value(std::forward<Args>(args)...), m_has_value(true)
436
2.05M
    {
437
2.05M
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>&&)
Line
Count
Source
435
484
        : m_value(std::forward<Args>(args)...), m_has_value(true)
436
484
    {
437
484
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>&&)
Line
Count
Source
435
411
        : m_value(std::forward<Args>(args)...), m_has_value(true)
436
411
    {
437
411
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>&&)
Line
Count
Source
435
600
        : m_value(std::forward<Args>(args)...), m_has_value(true)
436
600
    {
437
600
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>&&)
Line
Count
Source
435
475
        : m_value(std::forward<Args>(args)...), m_has_value(true)
436
475
    {
437
475
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>&&)
Line
Count
Source
435
717
        : m_value(std::forward<Args>(args)...), m_has_value(true)
436
717
    {
437
717
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>&&)
Line
Count
Source
435
565
        : m_value(std::forward<Args>(args)...), m_has_value(true)
436
565
    {
437
565
    }
scn::v3::detail::expected_storage_base<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v3::scan_error, true>::expected_storage_base<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, void>(std::__1::in_place_t, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >&&)
Line
Count
Source
435
1.22M
        : m_value(std::forward<Args>(args)...), m_has_value(true)
436
1.22M
    {
437
1.22M
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>&&)
Line
Count
Source
435
484
        : m_value(std::forward<Args>(args)...), m_has_value(true)
436
484
    {
437
484
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>&&)
Line
Count
Source
435
411
        : m_value(std::forward<Args>(args)...), m_has_value(true)
436
411
    {
437
411
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>&&)
Line
Count
Source
435
600
        : m_value(std::forward<Args>(args)...), m_has_value(true)
436
600
    {
437
600
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>&&)
Line
Count
Source
435
475
        : m_value(std::forward<Args>(args)...), m_has_value(true)
436
475
    {
437
475
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>&&)
Line
Count
Source
435
717
        : m_value(std::forward<Args>(args)...), m_has_value(true)
436
717
    {
437
717
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>&&)
Line
Count
Source
435
565
        : m_value(std::forward<Args>(args)...), m_has_value(true)
436
565
    {
437
565
    }
scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::scan_error, true>::expected_storage_base<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, void>(std::__1::in_place_t, scn::v3::detail::basic_scan_buffer<char>::forward_iterator&&)
Line
Count
Source
435
6.97M
        : m_value(std::forward<Args>(args)...), m_has_value(true)
436
6.97M
    {
437
6.97M
    }
scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::scan_error, true>::expected_storage_base<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, void>(std::__1::in_place_t, scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator&&)
Line
Count
Source
435
4.14M
        : m_value(std::forward<Args>(args)...), m_has_value(true)
436
4.14M
    {
437
4.14M
    }
scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, void>(std::__1::in_place_t, scn::v3::detail::basic_scan_buffer<char>::forward_iterator&&)
Line
Count
Source
435
9.05M
        : m_value(std::forward<Args>(args)...), m_has_value(true)
436
9.05M
    {
437
9.05M
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, void>(std::__1::in_place_t, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, void>(std::__1::in_place_t, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::scan_error, true>::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, void>(std::__1::in_place_t, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, long>, scn::v3::scan_error, true>::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, long>, void>(std::__1::in_place_t, std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, long>&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, void>(std::__1::in_place_t, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>&&)
scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, long>, scn::v3::scan_error, true>::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, long>, void>(std::__1::in_place_t, std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, long>&&)
Line
Count
Source
435
2.33M
        : m_value(std::forward<Args>(args)...), m_has_value(true)
436
2.33M
    {
437
2.33M
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error, true>::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>&, void>(std::__1::in_place_t, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error, true>::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, void>(std::__1::in_place_t, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, void>(std::__1::in_place_t, scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::scan_error, true>::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, void>(std::__1::in_place_t, scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >&&)
scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::parse_error, true>::expected_storage_base<scn::v3::detail::basic_scan_buffer<char>::forward_iterator&, void>(std::__1::in_place_t, scn::v3::detail::basic_scan_buffer<char>::forward_iterator&)
Line
Count
Source
435
793k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
436
793k
    {
437
793k
    }
scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>&&)
Line
Count
Source
435
1.71M
        : m_value(std::forward<Args>(args)...), m_has_value(true)
436
1.71M
    {
437
1.71M
    }
scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::parse_error, true>::expected_storage_base<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, void>(std::__1::in_place_t, scn::v3::detail::basic_scan_buffer<char>::forward_iterator&&)
Line
Count
Source
435
5.19M
        : m_value(std::forward<Args>(args)...), m_has_value(true)
436
5.19M
    {
437
5.19M
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, void>(std::__1::in_place_t, scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>&&)
Line
Count
Source
435
419k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
436
419k
    {
437
419k
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, void>(std::__1::in_place_t, scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>&&)
Line
Count
Source
435
419k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
436
419k
    {
437
419k
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, void>(std::__1::in_place_t, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&&)
Line
Count
Source
435
7.93k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
436
7.93k
    {
437
7.93k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, void>(std::__1::in_place_t, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v3::scan_error, true>::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, void>(std::__1::in_place_t, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >&&)
scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, long>, scn::v3::scan_error, true>::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, long>, void>(std::__1::in_place_t, std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, long>&&)
Line
Count
Source
435
3.91k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
436
3.91k
    {
437
3.91k
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, void>(std::__1::in_place_t, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&&)
Line
Count
Source
435
2.11k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
436
2.11k
    {
437
2.11k
    }
scn::v3::detail::expected_storage_base<std::__1::pair<char const*, long>, scn::v3::scan_error, true>::expected_storage_base<std::__1::pair<char const*, long>, void>(std::__1::in_place_t, std::__1::pair<char const*, long>&&)
Line
Count
Source
435
2.18M
        : m_value(std::forward<Args>(args)...), m_has_value(true)
436
2.18M
    {
437
2.18M
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::parse_error, true>::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&, void>(std::__1::in_place_t, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&)
scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>&&)
Line
Count
Source
435
1.10k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
436
1.10k
    {
437
1.10k
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::parse_error, true>::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, void>(std::__1::in_place_t, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&&)
Line
Count
Source
435
1.49k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
436
1.49k
    {
437
1.49k
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, void>(std::__1::in_place_t, scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >&&)
Line
Count
Source
435
834
        : m_value(std::forward<Args>(args)...), m_has_value(true)
436
834
    {
437
834
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v3::scan_error, true>::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, void>(std::__1::in_place_t, scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >&&)
Line
Count
Source
435
834
        : m_value(std::forward<Args>(args)...), m_has_value(true)
436
834
    {
437
834
    }
scn::v3::detail::expected_storage_base<std::__1::pair<char const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::expected_storage_base<std::__1::pair<char const*, scn::v3::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<char const*, scn::v3::impl::sign_type>&&)
Line
Count
Source
435
1.48M
        : m_value(std::forward<Args>(args)...), m_has_value(true)
436
1.48M
    {
437
1.48M
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<char const*>, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<char const*>, void>(std::__1::in_place_t, scn::v3::impl::parse_integer_prefix_result<char const*>&&)
Line
Count
Source
435
423k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
436
423k
    {
437
423k
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<char const*>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<char const*>, void>(std::__1::in_place_t, scn::v3::impl::parse_integer_prefix_result<char const*>&&)
Line
Count
Source
435
423k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
436
423k
    {
437
423k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>&, void>(std::__1::in_place_t, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>&)
scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>&&)
Line
Count
Source
435
1.17M
        : m_value(std::forward<Args>(args)...), m_has_value(true)
436
1.17M
    {
437
1.17M
    }
scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::scan_error, true>::expected_storage_base<scn::v3::detail::basic_scan_buffer<char>::forward_iterator&, void>(std::__1::in_place_t, scn::v3::detail::basic_scan_buffer<char>::forward_iterator&)
Line
Count
Source
435
68.7k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
436
68.7k
    {
437
68.7k
    }
scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>&&)
Line
Count
Source
435
274
        : m_value(std::forward<Args>(args)...), m_has_value(true)
436
274
    {
437
274
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&, void>(std::__1::in_place_t, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&)
scn::v3::detail::expected_storage_base<std::__1::pair<char const*, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::expected_storage_base<std::__1::pair<char const*, scn::v3::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<char const*, scn::v3::impl::sign_type>&&)
Line
Count
Source
435
1.02M
        : m_value(std::forward<Args>(args)...), m_has_value(true)
436
1.02M
    {
437
1.02M
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> const&, void>(std::__1::in_place_t, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> const&)
scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::scan_error, true>::expected_storage_base<scn::v3::detail::basic_scan_buffer<char>::forward_iterator const&, void>(std::__1::in_place_t, scn::v3::detail::basic_scan_buffer<char>::forward_iterator const&)
Line
Count
Source
435
840
        : m_value(std::forward<Args>(args)...), m_has_value(true)
436
840
    {
437
840
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const&, void>(std::__1::in_place_t, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const&)
Line
Count
Source
435
696
        : m_value(std::forward<Args>(args)...), m_has_value(true)
436
696
    {
437
696
    }
scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, void>(std::__1::in_place_t, scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator&&)
Line
Count
Source
435
4.48M
        : m_value(std::forward<Args>(args)...), m_has_value(true)
436
4.48M
    {
437
4.48M
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, void>(std::__1::in_place_t, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, void>(std::__1::in_place_t, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::scan_error, true>::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, void>(std::__1::in_place_t, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, long>, scn::v3::scan_error, true>::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, long>, void>(std::__1::in_place_t, std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, long>&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, void>(std::__1::in_place_t, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>&&)
scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>, scn::v3::scan_error, true>::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>, void>(std::__1::in_place_t, std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>&&)
Line
Count
Source
435
1.46M
        : m_value(std::forward<Args>(args)...), m_has_value(true)
436
1.46M
    {
437
1.46M
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error, true>::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>&, void>(std::__1::in_place_t, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error, true>::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, void>(std::__1::in_place_t, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, void>(std::__1::in_place_t, scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::scan_error, true>::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, void>(std::__1::in_place_t, scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >&&)
scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::parse_error, true>::expected_storage_base<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator&, void>(std::__1::in_place_t, scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator&)
Line
Count
Source
435
21.8k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
436
21.8k
    {
437
21.8k
    }
scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>&&)
Line
Count
Source
435
697k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
436
697k
    {
437
697k
    }
scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::parse_error, true>::expected_storage_base<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, void>(std::__1::in_place_t, scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator&&)
Line
Count
Source
435
1.90M
        : m_value(std::forward<Args>(args)...), m_has_value(true)
436
1.90M
    {
437
1.90M
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, void>(std::__1::in_place_t, scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>&&)
Line
Count
Source
435
128k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
436
128k
    {
437
128k
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, void>(std::__1::in_place_t, scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>&&)
Line
Count
Source
435
128k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
436
128k
    {
437
128k
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, void>(std::__1::in_place_t, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&&)
Line
Count
Source
435
1.74k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
436
1.74k
    {
437
1.74k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, void>(std::__1::in_place_t, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v3::scan_error, true>::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, void>(std::__1::in_place_t, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >&&)
scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, long>, scn::v3::scan_error, true>::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, long>, void>(std::__1::in_place_t, std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, long>&&)
Line
Count
Source
435
1.54k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
436
1.54k
    {
437
1.54k
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, void>(std::__1::in_place_t, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&&)
Line
Count
Source
435
884
        : m_value(std::forward<Args>(args)...), m_has_value(true)
436
884
    {
437
884
    }
scn::v3::detail::expected_storage_base<std::__1::pair<wchar_t const*, long>, scn::v3::scan_error, true>::expected_storage_base<std::__1::pair<wchar_t const*, long>, void>(std::__1::in_place_t, std::__1::pair<wchar_t const*, long>&&)
Line
Count
Source
435
2.15M
        : m_value(std::forward<Args>(args)...), m_has_value(true)
436
2.15M
    {
437
2.15M
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::parse_error, true>::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&, void>(std::__1::in_place_t, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&)
scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>&&)
Line
Count
Source
435
494
        : m_value(std::forward<Args>(args)...), m_has_value(true)
436
494
    {
437
494
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::parse_error, true>::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, void>(std::__1::in_place_t, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&&)
Line
Count
Source
435
654
        : m_value(std::forward<Args>(args)...), m_has_value(true)
436
654
    {
437
654
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, void>(std::__1::in_place_t, scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >&&)
Line
Count
Source
435
378
        : m_value(std::forward<Args>(args)...), m_has_value(true)
436
378
    {
437
378
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v3::scan_error, true>::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, void>(std::__1::in_place_t, scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >&&)
Line
Count
Source
435
378
        : m_value(std::forward<Args>(args)...), m_has_value(true)
436
378
    {
437
378
    }
scn::v3::detail::expected_storage_base<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::expected_storage_base<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>&&)
Line
Count
Source
435
693k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
436
693k
    {
437
693k
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, void>(std::__1::in_place_t, scn::v3::impl::parse_integer_prefix_result<wchar_t const*>&&)
Line
Count
Source
435
130k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
436
130k
    {
437
130k
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, void>(std::__1::in_place_t, scn::v3::impl::parse_integer_prefix_result<wchar_t const*>&&)
Line
Count
Source
435
130k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
436
130k
    {
437
130k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>&, void>(std::__1::in_place_t, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>&)
scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>&&)
Line
Count
Source
435
557k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
436
557k
    {
437
557k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::scan_error, true>::expected_storage_base<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator&, void>(std::__1::in_place_t, scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator&)
scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>&&)
Line
Count
Source
435
116
        : m_value(std::forward<Args>(args)...), m_has_value(true)
436
116
    {
437
116
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&, void>(std::__1::in_place_t, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&)
scn::v3::detail::expected_storage_base<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::expected_storage_base<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>&&)
Line
Count
Source
435
558k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
436
558k
    {
437
558k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> const&, void>(std::__1::in_place_t, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> const&)
scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::scan_error, true>::expected_storage_base<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator const&, void>(std::__1::in_place_t, scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator const&)
Line
Count
Source
435
118
        : m_value(std::forward<Args>(args)...), m_has_value(true)
436
118
    {
437
118
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const&, void>(std::__1::in_place_t, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const&)
Line
Count
Source
435
282
        : m_value(std::forward<Args>(args)...), m_has_value(true)
436
282
    {
437
282
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, void>(std::__1::in_place_t, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >&&)
Line
Count
Source
435
2.01k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
436
2.01k
    {
437
2.01k
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v3::scan_error, true>::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, void>(std::__1::in_place_t, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >&&)
Line
Count
Source
435
1.81k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
436
1.81k
    {
437
1.81k
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, void>(std::__1::in_place_t, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >&&)
Line
Count
Source
435
754
        : m_value(std::forward<Args>(args)...), m_has_value(true)
436
754
    {
437
754
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v3::scan_error, true>::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, void>(std::__1::in_place_t, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >&&)
Line
Count
Source
435
754
        : m_value(std::forward<Args>(args)...), m_has_value(true)
436
754
    {
437
754
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, float>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, float>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, float>&&)
Line
Count
Source
435
309k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
436
309k
    {
437
309k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, double>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, double>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, double>&&)
Line
Count
Source
435
319k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
436
319k
    {
437
319k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long double>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long double>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long double>&&)
Line
Count
Source
435
326k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
436
326k
    {
437
326k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, float>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, float>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, float>&&)
Line
Count
Source
435
356k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
436
356k
    {
437
356k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, double>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, double>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, double>&&)
Line
Count
Source
435
372k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
436
372k
    {
437
372k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long double>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long double>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long double>&&)
Line
Count
Source
435
378k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
436
378k
    {
437
378k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, float>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, float>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, float>&&)
Line
Count
Source
435
114k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
436
114k
    {
437
114k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>&&)
Line
Count
Source
435
134k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
436
134k
    {
437
134k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long double>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long double>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long double>&&)
Line
Count
Source
435
138k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
436
138k
    {
437
138k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, float>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, float>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, float>&&)
Line
Count
Source
435
114k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
436
114k
    {
437
114k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, double>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, double>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, double>&&)
Line
Count
Source
435
134k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
436
134k
    {
437
134k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long double>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long double>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long double>&&)
Line
Count
Source
435
137k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
436
137k
    {
437
137k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, char>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, char>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, char>&&)
Line
Count
Source
435
214
        : m_value(std::forward<Args>(args)...), m_has_value(true)
436
214
    {
437
214
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, bool>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, bool>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, bool>&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, void*>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, void*>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, void*>&&)
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >&&)
Line
Count
Source
435
111k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
436
111k
    {
437
111k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>&&)
Line
Count
Source
435
96
        : m_value(std::forward<Args>(args)...), m_has_value(true)
436
96
    {
437
96
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool>&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*>&&)
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >&&)
Line
Count
Source
435
834k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
436
834k
    {
437
834k
    }
scn::v3::detail::expected_storage_base<char const*, scn::v3::scan_error, true>::expected_storage_base<char const*, void>(std::__1::in_place_t, char const*&&)
Line
Count
Source
435
7.72M
        : m_value(std::forward<Args>(args)...), m_has_value(true)
436
7.72M
    {
437
7.72M
    }
scn::v3::detail::expected_storage_base<wchar_t const*, scn::v3::scan_error, true>::expected_storage_base<wchar_t const*, void>(std::__1::in_place_t, wchar_t const*&&)
Line
Count
Source
435
6.47M
        : m_value(std::forward<Args>(args)...), m_has_value(true)
436
6.47M
    {
437
6.47M
    }
scn::v3::detail::expected_storage_base<char const*, scn::v3::impl::eof_error, true>::expected_storage_base<char const*, void>(std::__1::in_place_t, char const*&&)
Line
Count
Source
435
3.77M
        : m_value(std::forward<Args>(args)...), m_has_value(true)
436
3.77M
    {
437
3.77M
    }
scn::v3::detail::expected_storage_base<char const*, scn::v3::impl::parse_error, true>::expected_storage_base<char const*&, void>(std::__1::in_place_t, char const*&)
Line
Count
Source
435
493k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
436
493k
    {
437
493k
    }
scn::v3::detail::expected_storage_base<char const*, scn::v3::impl::parse_error, true>::expected_storage_base<char const*, void>(std::__1::in_place_t, char const*&&)
Line
Count
Source
435
445k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
436
445k
    {
437
445k
    }
scn::v3::detail::expected_storage_base<long, scn::v3::scan_error, true>::expected_storage_base<long, void>(std::__1::in_place_t, long&&)
Line
Count
Source
435
11.9M
        : m_value(std::forward<Args>(args)...), m_has_value(true)
436
11.9M
    {
437
11.9M
    }
scn::v3::detail::expected_storage_base<char const*, scn::v3::scan_error, true>::expected_storage_base<char const*&, void>(std::__1::in_place_t, char const*&)
Line
Count
Source
435
67.3k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
436
67.3k
    {
437
67.3k
    }
scn::v3::detail::expected_storage_base<std::__1::regex_constants::syntax_option_type, scn::v3::scan_error, true>::expected_storage_base<std::__1::regex_constants::syntax_option_type, void>(std::__1::in_place_t, std::__1::regex_constants::syntax_option_type&&)
Line
Count
Source
435
18.6k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
436
18.6k
    {
437
18.6k
    }
scn::v3::detail::expected_storage_base<char const*, scn::v3::scan_error, true>::expected_storage_base<char const* const&, void>(std::__1::in_place_t, char const* const&)
Line
Count
Source
435
3.40k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
436
3.40k
    {
437
3.40k
    }
scn::v3::detail::expected_storage_base<wchar_t const*, scn::v3::impl::eof_error, true>::expected_storage_base<wchar_t const*, void>(std::__1::in_place_t, wchar_t const*&&)
Line
Count
Source
435
4.81M
        : m_value(std::forward<Args>(args)...), m_has_value(true)
436
4.81M
    {
437
4.81M
    }
scn::v3::detail::expected_storage_base<wchar_t const*, scn::v3::impl::parse_error, true>::expected_storage_base<wchar_t const*&, void>(std::__1::in_place_t, wchar_t const*&)
Line
Count
Source
435
10.8k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
436
10.8k
    {
437
10.8k
    }
scn::v3::detail::expected_storage_base<wchar_t const*, scn::v3::impl::parse_error, true>::expected_storage_base<wchar_t const*, void>(std::__1::in_place_t, wchar_t const*&&)
Line
Count
Source
435
1.63M
        : m_value(std::forward<Args>(args)...), m_has_value(true)
436
1.63M
    {
437
1.63M
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<wchar_t const*, scn::v3::scan_error, true>::expected_storage_base<wchar_t const*&, void>(std::__1::in_place_t, wchar_t const*&)
scn::v3::detail::expected_storage_base<wchar_t const*, scn::v3::scan_error, true>::expected_storage_base<wchar_t const* const&, void>(std::__1::in_place_t, wchar_t const* const&)
Line
Count
Source
435
626
        : m_value(std::forward<Args>(args)...), m_has_value(true)
436
626
    {
437
626
    }
scn::v3::detail::expected_storage_base<long, scn::v3::scan_error, true>::expected_storage_base<int, void>(std::__1::in_place_t, int&&)
Line
Count
Source
435
129k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
436
129k
    {
437
129k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<wchar_t, scn::v3::scan_error, true>::expected_storage_base<wchar_t, void>(std::__1::in_place_t, wchar_t&&)
438
439
    template <typename... Args,
440
              typename = std::enable_if_t<std::is_constructible_v<E, Args...>>>
441
    constexpr explicit expected_storage_base(
442
        unexpect_t,
443
        Args&&... args) noexcept(std::is_nothrow_constructible_v<E, Args...>)
444
33.4M
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
445
33.4M
          m_has_value(false)
446
33.4M
    {
447
33.4M
    }
scn::v3::detail::expected_storage_base<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
444
300k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
445
300k
          m_has_value(false)
446
300k
    {
447
300k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
444
14.8k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
445
14.8k
          m_has_value(false)
446
14.8k
    {
447
14.8k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
444
14.8k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
445
14.8k
          m_has_value(false)
446
14.8k
    {
447
14.8k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
444
26.0k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
445
26.0k
          m_has_value(false)
446
26.0k
    {
447
26.0k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
444
26.0k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
445
26.0k
          m_has_value(false)
446
26.0k
    {
447
26.0k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long long>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
444
14.8k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
445
14.8k
          m_has_value(false)
446
14.8k
    {
447
14.8k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
444
14.8k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
445
14.8k
          m_has_value(false)
446
14.8k
    {
447
14.8k
    }
scn::v3::detail::expected_storage_base<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
444
189k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
445
189k
          m_has_value(false)
446
189k
    {
447
189k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
444
14.8k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
445
14.8k
          m_has_value(false)
446
14.8k
    {
447
14.8k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
444
14.8k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
445
14.8k
          m_has_value(false)
446
14.8k
    {
447
14.8k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
444
14.8k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
445
14.8k
          m_has_value(false)
446
14.8k
    {
447
14.8k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
444
14.8k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
445
14.8k
          m_has_value(false)
446
14.8k
    {
447
14.8k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
444
14.8k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
445
14.8k
          m_has_value(false)
446
14.8k
    {
447
14.8k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
444
14.8k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
445
14.8k
          m_has_value(false)
446
14.8k
    {
447
14.8k
    }
scn::v3::detail::expected_storage_base<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
444
605k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
445
605k
          m_has_value(false)
446
605k
    {
447
605k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
444
29.6k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
445
29.6k
          m_has_value(false)
446
29.6k
    {
447
29.6k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
444
29.6k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
445
29.6k
          m_has_value(false)
446
29.6k
    {
447
29.6k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
444
52.0k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
445
52.0k
          m_has_value(false)
446
52.0k
    {
447
52.0k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
444
52.0k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
445
52.0k
          m_has_value(false)
446
52.0k
    {
447
52.0k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
444
29.6k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
445
29.6k
          m_has_value(false)
446
29.6k
    {
447
29.6k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
444
29.6k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
445
29.6k
          m_has_value(false)
446
29.6k
    {
447
29.6k
    }
scn::v3::detail::expected_storage_base<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
444
378k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
445
378k
          m_has_value(false)
446
378k
    {
447
378k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
444
29.6k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
445
29.6k
          m_has_value(false)
446
29.6k
    {
447
29.6k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
444
29.6k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
445
29.6k
          m_has_value(false)
446
29.6k
    {
447
29.6k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
444
29.6k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
445
29.6k
          m_has_value(false)
446
29.6k
    {
447
29.6k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
444
29.6k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
445
29.6k
          m_has_value(false)
446
29.6k
    {
447
29.6k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
444
29.6k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
445
29.6k
          m_has_value(false)
446
29.6k
    {
447
29.6k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
444
29.6k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
445
29.6k
          m_has_value(false)
446
29.6k
    {
447
29.6k
    }
scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
444
1.55M
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
445
1.55M
          m_has_value(false)
446
1.55M
    {
447
1.55M
    }
scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
444
1.57M
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
445
1.57M
          m_has_value(false)
446
1.57M
    {
447
1.57M
    }
scn::v3::detail::expected_storage_base<char const*, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
444
1.49M
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
445
1.49M
          m_has_value(false)
446
1.49M
    {
447
1.49M
    }
scn::v3::detail::expected_storage_base<wchar_t const*, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
444
1.48M
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
445
1.48M
          m_has_value(false)
446
1.48M
    {
447
1.48M
    }
scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::eof_error, void>(scn::v3::unexpect_t, scn::v3::impl::eof_error&&)
Line
Count
Source
444
99.8k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
445
99.8k
          m_has_value(false)
446
99.8k
    {
447
99.8k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::eof_error, void>(scn::v3::unexpect_t, scn::v3::impl::eof_error&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::eof_error, void>(scn::v3::unexpect_t, scn::v3::impl::eof_error&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, long>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, long>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
444
24.9k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
445
24.9k
          m_has_value(false)
446
24.9k
    {
447
24.9k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error, true>::expected_storage_base<scn::v3::impl::parse_error, void>(scn::v3::unexpect_t, scn::v3::impl::parse_error&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error, true>::expected_storage_base<scn::v3::impl::parse_error::code, void>(scn::v3::unexpect_t, scn::v3::impl::parse_error::code&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::eof_error, void>(scn::v3::unexpect_t, scn::v3::impl::eof_error&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::eof_error, void>(scn::v3::unexpect_t, scn::v3::impl::eof_error&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::parse_error, true>::expected_storage_base<scn::v3::impl::parse_error, void>(scn::v3::unexpect_t, scn::v3::impl::parse_error&&)
Line
Count
Source
444
1.27M
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
445
1.27M
          m_has_value(false)
446
1.27M
    {
447
1.27M
    }
scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::parse_error, true>::expected_storage_base<scn::v3::impl::parse_error::code, void>(scn::v3::unexpect_t, scn::v3::impl::parse_error::code&&)
Line
Count
Source
444
7.48M
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
445
7.48M
          m_has_value(false)
446
7.48M
    {
447
7.48M
    }
scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::eof_error, void>(scn::v3::unexpect_t, scn::v3::impl::eof_error&&)
Line
Count
Source
444
288
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
445
288
          m_has_value(false)
446
288
    {
447
288
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::eof_error, void>(scn::v3::unexpect_t, scn::v3::impl::eof_error&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
scn::v3::detail::expected_storage_base<char const*, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::eof_error, void>(scn::v3::unexpect_t, scn::v3::impl::eof_error&&)
Line
Count
Source
444
36.0k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
445
36.0k
          m_has_value(false)
446
36.0k
    {
447
36.0k
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::eof_error, void>(scn::v3::unexpect_t, scn::v3::impl::eof_error&&)
Line
Count
Source
444
344
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
445
344
          m_has_value(false)
446
344
    {
447
344
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::eof_error, void>(scn::v3::unexpect_t, scn::v3::impl::eof_error&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, long>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
444
174
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
445
174
          m_has_value(false)
446
174
    {
447
174
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
444
5.37k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
445
5.37k
          m_has_value(false)
446
5.37k
    {
447
5.37k
    }
scn::v3::detail::expected_storage_base<std::__1::pair<char const*, long>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
444
21.3k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
445
21.3k
          m_has_value(false)
446
21.3k
    {
447
21.3k
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::parse_error, true>::expected_storage_base<scn::v3::impl::parse_error, void>(scn::v3::unexpect_t, scn::v3::impl::parse_error&&)
Line
Count
Source
444
906
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
445
906
          m_has_value(false)
446
906
    {
447
906
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::parse_error, true>::expected_storage_base<scn::v3::impl::parse_error::code, void>(scn::v3::unexpect_t, scn::v3::impl::parse_error::code&&)
Line
Count
Source
444
4.31k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
445
4.31k
          m_has_value(false)
446
4.31k
    {
447
4.31k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::eof_error, void>(scn::v3::unexpect_t, scn::v3::impl::eof_error&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::eof_error, void>(scn::v3::unexpect_t, scn::v3::impl::eof_error&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
scn::v3::detail::expected_storage_base<char const*, scn::v3::impl::parse_error, true>::expected_storage_base<scn::v3::impl::parse_error, void>(scn::v3::unexpect_t, scn::v3::impl::parse_error&&)
Line
Count
Source
444
1.06M
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
445
1.06M
          m_has_value(false)
446
1.06M
    {
447
1.06M
    }
scn::v3::detail::expected_storage_base<char const*, scn::v3::impl::parse_error, true>::expected_storage_base<scn::v3::impl::parse_error::code, void>(scn::v3::unexpect_t, scn::v3::impl::parse_error::code&&)
Line
Count
Source
444
4.85M
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
445
4.85M
          m_has_value(false)
446
4.85M
    {
447
4.85M
    }
scn::v3::detail::expected_storage_base<std::__1::pair<char const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::eof_error, void>(scn::v3::unexpect_t, scn::v3::impl::eof_error&&)
Line
Count
Source
444
96
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
445
96
          m_has_value(false)
446
96
    {
447
96
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<char const*>, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::eof_error, void>(scn::v3::unexpect_t, scn::v3::impl::eof_error&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<char const*>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
scn::v3::detail::expected_storage_base<long, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
444
1.74M
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
445
1.74M
          m_has_value(false)
446
1.74M
    {
447
1.74M
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<char const*, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::regex_constants::syntax_option_type, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::eof_error, void>(scn::v3::unexpect_t, scn::v3::impl::eof_error&&)
Line
Count
Source
444
83.9k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
445
83.9k
          m_has_value(false)
446
83.9k
    {
447
83.9k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::eof_error, void>(scn::v3::unexpect_t, scn::v3::impl::eof_error&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::eof_error, void>(scn::v3::unexpect_t, scn::v3::impl::eof_error&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, long>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
444
5.38k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
445
5.38k
          m_has_value(false)
446
5.38k
    {
447
5.38k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error, true>::expected_storage_base<scn::v3::impl::parse_error, void>(scn::v3::unexpect_t, scn::v3::impl::parse_error&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error, true>::expected_storage_base<scn::v3::impl::parse_error::code, void>(scn::v3::unexpect_t, scn::v3::impl::parse_error::code&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::eof_error, void>(scn::v3::unexpect_t, scn::v3::impl::eof_error&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::eof_error, void>(scn::v3::unexpect_t, scn::v3::impl::eof_error&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::parse_error, true>::expected_storage_base<scn::v3::impl::parse_error, void>(scn::v3::unexpect_t, scn::v3::impl::parse_error&&)
Line
Count
Source
444
706k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
445
706k
          m_has_value(false)
446
706k
    {
447
706k
    }
scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::parse_error, true>::expected_storage_base<scn::v3::impl::parse_error::code, void>(scn::v3::unexpect_t, scn::v3::impl::parse_error::code&&)
Line
Count
Source
444
3.63M
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
445
3.63M
          m_has_value(false)
446
3.63M
    {
447
3.63M
    }
scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::eof_error, void>(scn::v3::unexpect_t, scn::v3::impl::eof_error&&)
Line
Count
Source
444
79
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
445
79
          m_has_value(false)
446
79
    {
447
79
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::eof_error, void>(scn::v3::unexpect_t, scn::v3::impl::eof_error&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
scn::v3::detail::expected_storage_base<wchar_t const*, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::eof_error, void>(scn::v3::unexpect_t, scn::v3::impl::eof_error&&)
Line
Count
Source
444
85.4k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
445
85.4k
          m_has_value(false)
446
85.4k
    {
447
85.4k
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::eof_error, void>(scn::v3::unexpect_t, scn::v3::impl::eof_error&&)
Line
Count
Source
444
154
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
445
154
          m_has_value(false)
446
154
    {
447
154
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::eof_error, void>(scn::v3::unexpect_t, scn::v3::impl::eof_error&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, long>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
444
2.00k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
445
2.00k
          m_has_value(false)
446
2.00k
    {
447
2.00k
    }
scn::v3::detail::expected_storage_base<std::__1::pair<wchar_t const*, long>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
444
6.50k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
445
6.50k
          m_has_value(false)
446
6.50k
    {
447
6.50k
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::parse_error, true>::expected_storage_base<scn::v3::impl::parse_error, void>(scn::v3::unexpect_t, scn::v3::impl::parse_error&&)
Line
Count
Source
444
424
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
445
424
          m_has_value(false)
446
424
    {
447
424
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::parse_error, true>::expected_storage_base<scn::v3::impl::parse_error::code, void>(scn::v3::unexpect_t, scn::v3::impl::parse_error::code&&)
Line
Count
Source
444
1.94k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
445
1.94k
          m_has_value(false)
446
1.94k
    {
447
1.94k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::eof_error, void>(scn::v3::unexpect_t, scn::v3::impl::eof_error&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::eof_error, void>(scn::v3::unexpect_t, scn::v3::impl::eof_error&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
scn::v3::detail::expected_storage_base<wchar_t const*, scn::v3::impl::parse_error, true>::expected_storage_base<scn::v3::impl::parse_error, void>(scn::v3::unexpect_t, scn::v3::impl::parse_error&&)
Line
Count
Source
444
706k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
445
706k
          m_has_value(false)
446
706k
    {
447
706k
    }
scn::v3::detail::expected_storage_base<wchar_t const*, scn::v3::impl::parse_error, true>::expected_storage_base<scn::v3::impl::parse_error::code, void>(scn::v3::unexpect_t, scn::v3::impl::parse_error::code&&)
Line
Count
Source
444
2.66M
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
445
2.66M
          m_has_value(false)
446
2.66M
    {
447
2.66M
    }
scn::v3::detail::expected_storage_base<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::eof_error, void>(scn::v3::unexpect_t, scn::v3::impl::eof_error&&)
Line
Count
Source
444
28
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
445
28
          m_has_value(false)
446
28
    {
447
28
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::eof_error, void>(scn::v3::unexpect_t, scn::v3::impl::eof_error&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::eof_error, void>(scn::v3::unexpect_t, scn::v3::impl::eof_error&&)
Line
Count
Source
444
226
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
445
226
          m_has_value(false)
446
226
    {
447
226
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
444
174
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
445
174
          m_has_value(false)
446
174
    {
447
174
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::eof_error, void>(scn::v3::unexpect_t, scn::v3::impl::eof_error&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, float>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
444
28.9k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
445
28.9k
          m_has_value(false)
446
28.9k
    {
447
28.9k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, double>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
444
40.1k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
445
40.1k
          m_has_value(false)
446
40.1k
    {
447
40.1k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long double>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
444
28.9k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
445
28.9k
          m_has_value(false)
446
28.9k
    {
447
28.9k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, float>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
444
28.9k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
445
28.9k
          m_has_value(false)
446
28.9k
    {
447
28.9k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, double>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
444
28.9k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
445
28.9k
          m_has_value(false)
446
28.9k
    {
447
28.9k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long double>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
444
28.9k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
445
28.9k
          m_has_value(false)
446
28.9k
    {
447
28.9k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, float>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
444
57.9k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
445
57.9k
          m_has_value(false)
446
57.9k
    {
447
57.9k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
444
80.3k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
445
80.3k
          m_has_value(false)
446
80.3k
    {
447
80.3k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long double>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
444
57.9k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
445
57.9k
          m_has_value(false)
446
57.9k
    {
447
57.9k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, float>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
444
57.9k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
445
57.9k
          m_has_value(false)
446
57.9k
    {
447
57.9k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, double>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
444
57.9k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
445
57.9k
          m_has_value(false)
446
57.9k
    {
447
57.9k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long double>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
444
57.9k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
445
57.9k
          m_has_value(false)
446
57.9k
    {
447
57.9k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, char>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
444
10.9k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
445
10.9k
          m_has_value(false)
446
10.9k
    {
447
10.9k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, bool>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
444
11.1k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
445
11.1k
          m_has_value(false)
446
11.1k
    {
447
11.1k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, void*>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
444
11.1k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
445
11.1k
          m_has_value(false)
446
11.1k
    {
447
11.1k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
444
23.6k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
445
23.6k
          m_has_value(false)
446
23.6k
    {
447
23.6k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
444
22.2k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
445
22.2k
          m_has_value(false)
446
22.2k
    {
447
22.2k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
444
22.3k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
445
22.3k
          m_has_value(false)
446
22.3k
    {
447
22.3k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
444
22.3k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
445
22.3k
          m_has_value(false)
446
22.3k
    {
447
22.3k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
444
48.7k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
445
48.7k
          m_has_value(false)
446
48.7k
    {
447
48.7k
    }
448
449
    constexpr T& get_value() & noexcept
450
94.2M
    {
451
94.2M
        return m_value;
452
94.2M
    }
scn::v3::detail::expected_storage_base<long, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
450
14.9M
    {
451
14.9M
        return m_value;
452
14.9M
    }
scn::v3::detail::expected_storage_base<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
450
1.54M
    {
451
1.54M
        return m_value;
452
1.54M
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
450
59.6k
    {
451
59.6k
        return m_value;
452
59.6k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
450
50.5k
    {
451
50.5k
        return m_value;
452
50.5k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
450
72.0k
    {
451
72.0k
        return m_value;
452
72.0k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
450
56.0k
    {
451
56.0k
        return m_value;
452
56.0k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long long>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
450
73.5k
    {
451
73.5k
        return m_value;
452
73.5k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
450
56.7k
    {
451
56.7k
        return m_value;
452
56.7k
    }
scn::v3::detail::expected_storage_base<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
450
1.61M
    {
451
1.61M
        return m_value;
452
1.61M
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
450
59.6k
    {
451
59.6k
        return m_value;
452
59.6k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
450
50.5k
    {
451
50.5k
        return m_value;
452
50.5k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
450
71.5k
    {
451
71.5k
        return m_value;
452
71.5k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
450
56.0k
    {
451
56.0k
        return m_value;
452
56.0k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
450
72.9k
    {
451
72.9k
        return m_value;
452
72.9k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
450
56.8k
    {
451
56.8k
        return m_value;
452
56.8k
    }
scn::v3::detail::expected_storage_base<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
450
2.05M
    {
451
2.05M
        return m_value;
452
2.05M
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
450
484
    {
451
484
        return m_value;
452
484
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
450
411
    {
451
411
        return m_value;
452
411
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
450
600
    {
451
600
        return m_value;
452
600
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
450
475
    {
451
475
        return m_value;
452
475
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
450
717
    {
451
717
        return m_value;
452
717
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
450
565
    {
451
565
        return m_value;
452
565
    }
scn::v3::detail::expected_storage_base<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
450
1.22M
    {
451
1.22M
        return m_value;
452
1.22M
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
450
484
    {
451
484
        return m_value;
452
484
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
450
411
    {
451
411
        return m_value;
452
411
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
450
600
    {
451
600
        return m_value;
452
600
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
450
475
    {
451
475
        return m_value;
452
475
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
450
717
    {
451
717
        return m_value;
452
717
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
450
565
    {
451
565
        return m_value;
452
565
    }
scn::v3::detail::expected_storage_base<std::__1::regex_constants::syntax_option_type, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
450
18.6k
    {
451
18.6k
        return m_value;
452
18.6k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<wchar_t, scn::v3::scan_error, true>::get_value() &
scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::eof_error, true>::get_value() &
Line
Count
Source
450
5.91M
    {
451
5.91M
        return m_value;
452
5.91M
    }
scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::eof_error, true>::get_value() &
Line
Count
Source
450
3.04M
    {
451
3.04M
        return m_value;
452
3.04M
    }
scn::v3::detail::expected_storage_base<char const*, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
450
6.80M
    {
451
6.80M
        return m_value;
452
6.80M
    }
scn::v3::detail::expected_storage_base<wchar_t const*, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
450
5.99M
    {
451
5.99M
        return m_value;
452
5.99M
    }
scn::v3::detail::expected_storage_base<char const*, scn::v3::impl::eof_error, true>::get_value() &
Line
Count
Source
450
2.15M
    {
451
2.15M
        return m_value;
452
2.15M
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error, true>::get_value() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::eof_error, true>::get_value() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, long>, scn::v3::scan_error, true>::get_value() &
scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, long>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
450
2.33M
    {
451
2.33M
        return m_value;
452
2.33M
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error, true>::get_value() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::get_value() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error, true>::get_value() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::scan_error, true>::get_value() &
scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::parse_error, true>::get_value() &
Line
Count
Source
450
7.21M
    {
451
7.21M
        return m_value;
452
7.21M
    }
scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::get_value() &
Line
Count
Source
450
1.71M
    {
451
1.71M
        return m_value;
452
1.71M
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, scn::v3::impl::eof_error, true>::get_value() &
Line
Count
Source
450
419k
    {
451
419k
        return m_value;
452
419k
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
450
419k
    {
451
419k
        return m_value;
452
419k
    }
scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
450
5.93M
    {
451
5.93M
        return m_value;
452
5.93M
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::eof_error, true>::get_value() &
Line
Count
Source
450
6.39k
    {
451
6.39k
        return m_value;
452
6.39k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v3::impl::eof_error, true>::get_value() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v3::scan_error, true>::get_value() &
scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, long>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
450
3.91k
    {
451
3.91k
        return m_value;
452
3.91k
    }
scn::v3::detail::expected_storage_base<std::__1::pair<char const*, long>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
450
2.18M
    {
451
2.18M
        return m_value;
452
2.18M
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::parse_error, true>::get_value() &
Line
Count
Source
450
1.49k
    {
451
1.49k
        return m_value;
452
1.49k
    }
scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::get_value() &
Line
Count
Source
450
1.10k
    {
451
1.10k
        return m_value;
452
1.10k
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v3::impl::eof_error, true>::get_value() &
Line
Count
Source
450
834
    {
451
834
        return m_value;
452
834
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
450
834
    {
451
834
        return m_value;
452
834
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
450
2.81k
    {
451
2.81k
        return m_value;
452
2.81k
    }
scn::v3::detail::expected_storage_base<char const*, scn::v3::impl::parse_error, true>::get_value() &
Line
Count
Source
450
1.23M
    {
451
1.23M
        return m_value;
452
1.23M
    }
scn::v3::detail::expected_storage_base<std::__1::pair<char const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::get_value() &
Line
Count
Source
450
1.48M
    {
451
1.48M
        return m_value;
452
1.48M
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<char const*>, scn::v3::impl::eof_error, true>::get_value() &
Line
Count
Source
450
423k
    {
451
423k
        return m_value;
452
423k
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<char const*>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
450
423k
    {
451
423k
        return m_value;
452
423k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::get_value() &
scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
450
1.17M
    {
451
1.17M
        return m_value;
452
1.17M
    }
scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
450
274
    {
451
274
        return m_value;
452
274
    }
scn::v3::detail::expected_storage_base<std::__1::pair<char const*, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
450
1.02M
    {
451
1.02M
        return m_value;
452
1.02M
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error, true>::get_value() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::eof_error, true>::get_value() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, long>, scn::v3::scan_error, true>::get_value() &
scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
450
1.46M
    {
451
1.46M
        return m_value;
452
1.46M
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error, true>::get_value() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::get_value() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error, true>::get_value() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::scan_error, true>::get_value() &
scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::parse_error, true>::get_value() &
Line
Count
Source
450
2.32M
    {
451
2.32M
        return m_value;
452
2.32M
    }
scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::get_value() &
Line
Count
Source
450
697k
    {
451
697k
        return m_value;
452
697k
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v3::impl::eof_error, true>::get_value() &
Line
Count
Source
450
128k
    {
451
128k
        return m_value;
452
128k
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
450
128k
    {
451
128k
        return m_value;
452
128k
    }
scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
450
3.75M
    {
451
3.75M
        return m_value;
452
3.75M
    }
scn::v3::detail::expected_storage_base<wchar_t const*, scn::v3::impl::eof_error, true>::get_value() &
Line
Count
Source
450
3.89M
    {
451
3.89M
        return m_value;
452
3.89M
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::eof_error, true>::get_value() &
Line
Count
Source
450
948
    {
451
948
        return m_value;
452
948
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v3::impl::eof_error, true>::get_value() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v3::scan_error, true>::get_value() &
scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, long>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
450
1.54k
    {
451
1.54k
        return m_value;
452
1.54k
    }
scn::v3::detail::expected_storage_base<std::__1::pair<wchar_t const*, long>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
450
2.15M
    {
451
2.15M
        return m_value;
452
2.15M
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::parse_error, true>::get_value() &
Line
Count
Source
450
654
    {
451
654
        return m_value;
452
654
    }
scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::get_value() &
Line
Count
Source
450
494
    {
451
494
        return m_value;
452
494
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v3::impl::eof_error, true>::get_value() &
Line
Count
Source
450
378
    {
451
378
        return m_value;
452
378
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
450
378
    {
451
378
        return m_value;
452
378
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
450
1.16k
    {
451
1.16k
        return m_value;
452
1.16k
    }
scn::v3::detail::expected_storage_base<wchar_t const*, scn::v3::impl::parse_error, true>::get_value() &
Line
Count
Source
450
1.77M
    {
451
1.77M
        return m_value;
452
1.77M
    }
scn::v3::detail::expected_storage_base<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::get_value() &
Line
Count
Source
450
693k
    {
451
693k
        return m_value;
452
693k
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, scn::v3::impl::eof_error, true>::get_value() &
Line
Count
Source
450
130k
    {
451
130k
        return m_value;
452
130k
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
450
130k
    {
451
130k
        return m_value;
452
130k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::get_value() &
scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
450
557k
    {
451
557k
        return m_value;
452
557k
    }
scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
450
116
    {
451
116
        return m_value;
452
116
    }
scn::v3::detail::expected_storage_base<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
450
558k
    {
451
558k
        return m_value;
452
558k
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v3::impl::eof_error, true>::get_value() &
Line
Count
Source
450
2.01k
    {
451
2.01k
        return m_value;
452
2.01k
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
450
1.81k
    {
451
1.81k
        return m_value;
452
1.81k
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v3::impl::eof_error, true>::get_value() &
Line
Count
Source
450
754
    {
451
754
        return m_value;
452
754
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
450
754
    {
451
754
        return m_value;
452
754
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, float>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
450
309k
    {
451
309k
        return m_value;
452
309k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, double>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
450
319k
    {
451
319k
        return m_value;
452
319k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long double>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
450
326k
    {
451
326k
        return m_value;
452
326k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, float>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
450
356k
    {
451
356k
        return m_value;
452
356k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, double>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
450
372k
    {
451
372k
        return m_value;
452
372k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long double>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
450
378k
    {
451
378k
        return m_value;
452
378k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, float>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
450
114k
    {
451
114k
        return m_value;
452
114k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
450
134k
    {
451
134k
        return m_value;
452
134k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long double>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
450
138k
    {
451
138k
        return m_value;
452
138k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, float>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
450
114k
    {
451
114k
        return m_value;
452
114k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, double>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
450
134k
    {
451
134k
        return m_value;
452
134k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long double>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
450
137k
    {
451
137k
        return m_value;
452
137k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
450
110k
    {
451
110k
        return m_value;
452
110k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
450
833k
    {
451
833k
        return m_value;
452
833k
    }
453
    constexpr const T& get_value() const& noexcept
454
0
    {
455
0
        return m_value;
456
0
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<char const*, scn::v3::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error, true>::get_value() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, scn::v3::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::parse_error, true>::get_value() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v3::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v3::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::parse_error, true>::get_value() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<char const*>, scn::v3::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<char const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<char const*, scn::v3::impl::parse_error, true>::get_value() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error, true>::get_value() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v3::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::parse_error, true>::get_value() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v3::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<wchar_t const*, scn::v3::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v3::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::parse_error, true>::get_value() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, scn::v3::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<wchar_t const*, scn::v3::impl::parse_error, true>::get_value() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v3::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v3::impl::eof_error, true>::get_value() const &
457
    constexpr T&& get_value() && noexcept
458
    {
459
        return std::move(m_value);
460
    }
461
    constexpr const T&& get_value() const&& noexcept
462
    {
463
        return std::move(m_value);
464
    }
465
466
    constexpr unexpected<E>& get_unexpected() & noexcept
467
17.5M
    {
468
17.5M
        return m_unexpected;
469
17.5M
    }
scn::v3::detail::expected_storage_base<long, scn::v3::scan_error, true>::get_unexpected() &
Line
Count
Source
467
1.74M
    {
468
1.74M
        return m_unexpected;
469
1.74M
    }
scn::v3::detail::expected_storage_base<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v3::scan_error, true>::get_unexpected() &
Line
Count
Source
467
300k
    {
468
300k
        return m_unexpected;
469
300k
    }
scn::v3::detail::expected_storage_base<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v3::scan_error, true>::get_unexpected() &
Line
Count
Source
467
189k
    {
468
189k
        return m_unexpected;
469
189k
    }
scn::v3::detail::expected_storage_base<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v3::scan_error, true>::get_unexpected() &
Line
Count
Source
467
605k
    {
468
605k
        return m_unexpected;
469
605k
    }
scn::v3::detail::expected_storage_base<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v3::scan_error, true>::get_unexpected() &
Line
Count
Source
467
378k
    {
468
378k
        return m_unexpected;
469
378k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::regex_constants::syntax_option_type, scn::v3::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<wchar_t, scn::v3::scan_error, true>::get_unexpected() &
scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::eof_error, true>::get_unexpected() &
Line
Count
Source
467
99.8k
    {
468
99.8k
        return m_unexpected;
469
99.8k
    }
scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::eof_error, true>::get_unexpected() &
Line
Count
Source
467
83.9k
    {
468
83.9k
        return m_unexpected;
469
83.9k
    }
scn::v3::detail::expected_storage_base<char const*, scn::v3::scan_error, true>::get_unexpected() &
Line
Count
Source
467
532k
    {
468
532k
        return m_unexpected;
469
532k
    }
scn::v3::detail::expected_storage_base<wchar_t const*, scn::v3::scan_error, true>::get_unexpected() &
Line
Count
Source
467
921k
    {
468
921k
        return m_unexpected;
469
921k
    }
scn::v3::detail::expected_storage_base<char const*, scn::v3::impl::eof_error, true>::get_unexpected() &
Line
Count
Source
467
35.7k
    {
468
35.7k
        return m_unexpected;
469
35.7k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, long>, scn::v3::scan_error, true>::get_unexpected() &
scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, long>, scn::v3::scan_error, true>::get_unexpected() &
Line
Count
Source
467
24.9k
    {
468
24.9k
        return m_unexpected;
469
24.9k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::scan_error, true>::get_unexpected() &
scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::parse_error, true>::get_unexpected() &
Line
Count
Source
467
3.73M
    {
468
3.73M
        return m_unexpected;
469
3.73M
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, scn::v3::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, scn::v3::scan_error, true>::get_unexpected() &
scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::scan_error, true>::get_unexpected() &
Line
Count
Source
467
448k
    {
468
448k
        return m_unexpected;
469
448k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v3::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v3::scan_error, true>::get_unexpected() &
scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::eof_error, true>::get_unexpected() &
Line
Count
Source
467
316
    {
468
316
        return m_unexpected;
469
316
    }
scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, long>, scn::v3::scan_error, true>::get_unexpected() &
Line
Count
Source
467
174
    {
468
174
        return m_unexpected;
469
174
    }
scn::v3::detail::expected_storage_base<std::__1::pair<char const*, long>, scn::v3::scan_error, true>::get_unexpected() &
Line
Count
Source
467
21.3k
    {
468
21.3k
        return m_unexpected;
469
21.3k
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::parse_error, true>::get_unexpected() &
Line
Count
Source
467
3.06k
    {
468
3.06k
        return m_unexpected;
469
3.06k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v3::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v3::scan_error, true>::get_unexpected() &
scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::scan_error, true>::get_unexpected() &
Line
Count
Source
467
5.10k
    {
468
5.10k
        return m_unexpected;
469
5.10k
    }
scn::v3::detail::expected_storage_base<char const*, scn::v3::impl::parse_error, true>::get_unexpected() &
Line
Count
Source
467
3.15M
    {
468
3.15M
        return m_unexpected;
469
3.15M
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<char const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<char const*>, scn::v3::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<char const*>, scn::v3::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<char const*, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, long>, scn::v3::scan_error, true>::get_unexpected() &
scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>, scn::v3::scan_error, true>::get_unexpected() &
Line
Count
Source
467
5.38k
    {
468
5.38k
        return m_unexpected;
469
5.38k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::scan_error, true>::get_unexpected() &
scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::parse_error, true>::get_unexpected() &
Line
Count
Source
467
2.15M
    {
468
2.15M
        return m_unexpected;
469
2.15M
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v3::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v3::scan_error, true>::get_unexpected() &
scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::scan_error, true>::get_unexpected() &
Line
Count
Source
467
1.01M
    {
468
1.01M
        return m_unexpected;
469
1.01M
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v3::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v3::scan_error, true>::get_unexpected() &
scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::eof_error, true>::get_unexpected() &
Line
Count
Source
467
154
    {
468
154
        return m_unexpected;
469
154
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, long>, scn::v3::scan_error, true>::get_unexpected() &
scn::v3::detail::expected_storage_base<wchar_t const*, scn::v3::impl::eof_error, true>::get_unexpected() &
Line
Count
Source
467
85.4k
    {
468
85.4k
        return m_unexpected;
469
85.4k
    }
scn::v3::detail::expected_storage_base<std::__1::pair<wchar_t const*, long>, scn::v3::scan_error, true>::get_unexpected() &
Line
Count
Source
467
6.50k
    {
468
6.50k
        return m_unexpected;
469
6.50k
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::parse_error, true>::get_unexpected() &
Line
Count
Source
467
1.33k
    {
468
1.33k
        return m_unexpected;
469
1.33k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v3::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v3::scan_error, true>::get_unexpected() &
scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::scan_error, true>::get_unexpected() &
Line
Count
Source
467
1.89k
    {
468
1.89k
        return m_unexpected;
469
1.89k
    }
scn::v3::detail::expected_storage_base<wchar_t const*, scn::v3::impl::parse_error, true>::get_unexpected() &
Line
Count
Source
467
1.95M
    {
468
1.95M
        return m_unexpected;
469
1.95M
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, scn::v3::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, scn::v3::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::get_unexpected() &
scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v3::impl::eof_error, true>::get_unexpected() &
Line
Count
Source
467
174
    {
468
174
        return m_unexpected;
469
174
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v3::scan_error, true>::get_unexpected() &
Line
Count
Source
467
174
    {
468
174
        return m_unexpected;
469
174
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v3::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v3::scan_error, true>::get_unexpected() &
470
    constexpr const unexpected<E>& get_unexpected() const& noexcept
471
0
    {
472
0
        return m_unexpected;
473
0
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<char const*, scn::v3::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, scn::v3::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::parse_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v3::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v3::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::parse_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<char const*>, scn::v3::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<char const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<char const*, scn::v3::impl::parse_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v3::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::parse_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v3::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<wchar_t const*, scn::v3::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v3::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::parse_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, scn::v3::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<wchar_t const*, scn::v3::impl::parse_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v3::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v3::impl::eof_error, true>::get_unexpected() const &
474
    constexpr unexpected<E>&& get_unexpected() && noexcept
475
    {
476
        return std::move(m_unexpected);
477
    }
478
    constexpr const unexpected<E>&& get_unexpected() const&& noexcept
479
    {
480
        return std::move(m_unexpected);
481
    }
482
483
    SCN_NODISCARD constexpr bool has_value() const noexcept
484
257M
    {
485
257M
        return m_has_value;
486
257M
    }
scn::v3::detail::expected_storage_base<long, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
484
33.9M
    {
485
33.9M
        return m_has_value;
486
33.9M
    }
scn::v3::detail::expected_storage_base<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
484
3.69M
    {
485
3.69M
        return m_has_value;
486
3.69M
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
484
134k
    {
485
134k
        return m_has_value;
486
134k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
484
115k
    {
485
115k
        return m_has_value;
486
115k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
484
158k
    {
485
158k
        return m_has_value;
486
158k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
484
126k
    {
485
126k
        return m_has_value;
486
126k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long long>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
484
161k
    {
485
161k
        return m_has_value;
486
161k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
484
128k
    {
485
128k
        return m_has_value;
486
128k
    }
scn::v3::detail::expected_storage_base<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
484
3.60M
    {
485
3.60M
        return m_has_value;
486
3.60M
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
484
134k
    {
485
134k
        return m_has_value;
486
134k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
484
115k
    {
485
115k
        return m_has_value;
486
115k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
484
157k
    {
485
157k
        return m_has_value;
486
157k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
484
126k
    {
485
126k
        return m_has_value;
486
126k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
484
160k
    {
485
160k
        return m_has_value;
486
160k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
484
128k
    {
485
128k
        return m_has_value;
486
128k
    }
scn::v3::detail::expected_storage_base<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
484
5.33M
    {
485
5.33M
        return m_has_value;
486
5.33M
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
484
30.6k
    {
485
30.6k
        return m_has_value;
486
30.6k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
484
30.4k
    {
485
30.4k
        return m_has_value;
486
30.4k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
484
30.8k
    {
485
30.8k
        return m_has_value;
486
30.8k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
484
30.6k
    {
485
30.6k
        return m_has_value;
486
30.6k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
484
31.0k
    {
485
31.0k
        return m_has_value;
486
31.0k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
484
30.7k
    {
485
30.7k
        return m_has_value;
486
30.7k
    }
scn::v3::detail::expected_storage_base<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
484
3.20M
    {
485
3.20M
        return m_has_value;
486
3.20M
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
484
30.6k
    {
485
30.6k
        return m_has_value;
486
30.6k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
484
30.4k
    {
485
30.4k
        return m_has_value;
486
30.4k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
484
30.8k
    {
485
30.8k
        return m_has_value;
486
30.8k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
484
30.6k
    {
485
30.6k
        return m_has_value;
486
30.6k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
484
31.0k
    {
485
31.0k
        return m_has_value;
486
31.0k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
484
30.7k
    {
485
30.7k
        return m_has_value;
486
30.7k
    }
scn::v3::detail::expected_storage_base<std::__1::regex_constants::syntax_option_type, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
484
37.2k
    {
485
37.2k
        return m_has_value;
486
37.2k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<wchar_t, scn::v3::scan_error, true>::has_value() const
scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::eof_error, true>::has_value() const
Line
Count
Source
484
15.1M
    {
485
15.1M
        return m_has_value;
486
15.1M
    }
scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::eof_error, true>::has_value() const
Line
Count
Source
484
7.70M
    {
485
7.70M
        return m_has_value;
486
7.70M
    }
scn::v3::detail::expected_storage_base<char const*, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
484
17.6M
    {
485
17.6M
        return m_has_value;
486
17.6M
    }
scn::v3::detail::expected_storage_base<wchar_t const*, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
484
15.4M
    {
485
15.4M
        return m_has_value;
486
15.4M
    }
scn::v3::detail::expected_storage_base<char const*, scn::v3::impl::eof_error, true>::has_value() const
Line
Count
Source
484
6.00M
    {
485
6.00M
        return m_has_value;
486
6.00M
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error, true>::has_value() const
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::eof_error, true>::has_value() const
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, long>, scn::v3::scan_error, true>::has_value() const
scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, long>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
484
4.72M
    {
485
4.72M
        return m_has_value;
486
4.72M
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error, true>::has_value() const
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::has_value() const
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error, true>::has_value() const
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::scan_error, true>::has_value() const
scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::parse_error, true>::has_value() const
Line
Count
Source
484
28.0M
    {
485
28.0M
        return m_has_value;
486
28.0M
    }
scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::has_value() const
Line
Count
Source
484
3.43M
    {
485
3.43M
        return m_has_value;
486
3.43M
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, scn::v3::impl::eof_error, true>::has_value() const
Line
Count
Source
484
838k
    {
485
838k
        return m_has_value;
486
838k
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
484
838k
    {
485
838k
        return m_has_value;
486
838k
    }
scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
484
16.1M
    {
485
16.1M
        return m_has_value;
486
16.1M
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::eof_error, true>::has_value() const
Line
Count
Source
484
14.9k
    {
485
14.9k
        return m_has_value;
486
14.9k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v3::impl::eof_error, true>::has_value() const
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v3::scan_error, true>::has_value() const
scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, long>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
484
8.16k
    {
485
8.16k
        return m_has_value;
486
8.16k
    }
scn::v3::detail::expected_storage_base<std::__1::pair<char const*, long>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
484
4.41M
    {
485
4.41M
        return m_has_value;
486
4.41M
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::parse_error, true>::has_value() const
Line
Count
Source
484
12.0k
    {
485
12.0k
        return m_has_value;
486
12.0k
    }
scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::has_value() const
Line
Count
Source
484
2.21k
    {
485
2.21k
        return m_has_value;
486
2.21k
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v3::impl::eof_error, true>::has_value() const
Line
Count
Source
484
1.66k
    {
485
1.66k
        return m_has_value;
486
1.66k
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
484
1.66k
    {
485
1.66k
        return m_has_value;
486
1.66k
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
484
16.3k
    {
485
16.3k
        return m_has_value;
486
16.3k
    }
scn::v3::detail::expected_storage_base<char const*, scn::v3::impl::parse_error, true>::has_value() const
Line
Count
Source
484
13.2M
    {
485
13.2M
        return m_has_value;
486
13.2M
    }
scn::v3::detail::expected_storage_base<std::__1::pair<char const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::has_value() const
Line
Count
Source
484
2.96M
    {
485
2.96M
        return m_has_value;
486
2.96M
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<char const*>, scn::v3::impl::eof_error, true>::has_value() const
Line
Count
Source
484
847k
    {
485
847k
        return m_has_value;
486
847k
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<char const*>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
484
847k
    {
485
847k
        return m_has_value;
486
847k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::has_value() const
scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
484
2.35M
    {
485
2.35M
        return m_has_value;
486
2.35M
    }
scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
484
548
    {
485
548
        return m_has_value;
486
548
    }
scn::v3::detail::expected_storage_base<std::__1::pair<char const*, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
484
2.05M
    {
485
2.05M
        return m_has_value;
486
2.05M
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error, true>::has_value() const
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::eof_error, true>::has_value() const
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, long>, scn::v3::scan_error, true>::has_value() const
scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
484
2.94M
    {
485
2.94M
        return m_has_value;
486
2.94M
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error, true>::has_value() const
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::has_value() const
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error, true>::has_value() const
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::scan_error, true>::has_value() const
scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::parse_error, true>::has_value() const
Line
Count
Source
484
12.0M
    {
485
12.0M
        return m_has_value;
486
12.0M
    }
scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::has_value() const
Line
Count
Source
484
1.39M
    {
485
1.39M
        return m_has_value;
486
1.39M
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v3::impl::eof_error, true>::has_value() const
Line
Count
Source
484
256k
    {
485
256k
        return m_has_value;
486
256k
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
484
256k
    {
485
256k
        return m_has_value;
486
256k
    }
scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
484
11.0M
    {
485
11.0M
        return m_has_value;
486
11.0M
    }
scn::v3::detail::expected_storage_base<wchar_t const*, scn::v3::impl::eof_error, true>::has_value() const
Line
Count
Source
484
8.87M
    {
485
8.87M
        return m_has_value;
486
8.87M
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::eof_error, true>::has_value() const
Line
Count
Source
484
3.00k
    {
485
3.00k
        return m_has_value;
486
3.00k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v3::impl::eof_error, true>::has_value() const
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v3::scan_error, true>::has_value() const
scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, long>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
484
3.08k
    {
485
3.08k
        return m_has_value;
486
3.08k
    }
scn::v3::detail::expected_storage_base<std::__1::pair<wchar_t const*, long>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
484
4.31M
    {
485
4.31M
        return m_has_value;
486
4.31M
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::parse_error, true>::has_value() const
Line
Count
Source
484
5.35k
    {
485
5.35k
        return m_has_value;
486
5.35k
    }
scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::has_value() const
Line
Count
Source
484
988
    {
485
988
        return m_has_value;
486
988
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v3::impl::eof_error, true>::has_value() const
Line
Count
Source
484
756
    {
485
756
        return m_has_value;
486
756
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
484
756
    {
485
756
        return m_has_value;
486
756
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
484
6.34k
    {
485
6.34k
        return m_has_value;
486
6.34k
    }
scn::v3::detail::expected_storage_base<wchar_t const*, scn::v3::impl::parse_error, true>::has_value() const
Line
Count
Source
484
9.94M
    {
485
9.94M
        return m_has_value;
486
9.94M
    }
scn::v3::detail::expected_storage_base<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::has_value() const
Line
Count
Source
484
1.38M
    {
485
1.38M
        return m_has_value;
486
1.38M
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, scn::v3::impl::eof_error, true>::has_value() const
Line
Count
Source
484
261k
    {
485
261k
        return m_has_value;
486
261k
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
484
261k
    {
485
261k
        return m_has_value;
486
261k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::has_value() const
scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
484
1.11M
    {
485
1.11M
        return m_has_value;
486
1.11M
    }
scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
484
232
    {
485
232
        return m_has_value;
486
232
    }
scn::v3::detail::expected_storage_base<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
484
1.11M
    {
485
1.11M
        return m_has_value;
486
1.11M
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v3::impl::eof_error, true>::has_value() const
Line
Count
Source
484
4.43k
    {
485
4.43k
        return m_has_value;
486
4.43k
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
484
3.97k
    {
485
3.97k
        return m_has_value;
486
3.97k
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v3::impl::eof_error, true>::has_value() const
Line
Count
Source
484
1.50k
    {
485
1.50k
        return m_has_value;
486
1.50k
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
484
1.50k
    {
485
1.50k
        return m_has_value;
486
1.50k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, float>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
484
648k
    {
485
648k
        return m_has_value;
486
648k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, double>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
484
667k
    {
485
667k
        return m_has_value;
486
667k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long double>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
484
681k
    {
485
681k
        return m_has_value;
486
681k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, float>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
484
741k
    {
485
741k
        return m_has_value;
486
741k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, double>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
484
773k
    {
485
773k
        return m_has_value;
486
773k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long double>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
484
786k
    {
485
786k
        return m_has_value;
486
786k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, float>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
484
287k
    {
485
287k
        return m_has_value;
486
287k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
484
327k
    {
485
327k
        return m_has_value;
486
327k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long double>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
484
334k
    {
485
334k
        return m_has_value;
486
334k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, float>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
484
287k
    {
485
287k
        return m_has_value;
486
287k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, double>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
484
327k
    {
485
327k
        return m_has_value;
486
327k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long double>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
484
333k
    {
485
333k
        return m_has_value;
486
333k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
484
233k
    {
485
233k
        return m_has_value;
486
233k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
484
1.69M
    {
485
1.69M
        return m_has_value;
486
1.69M
    }
487
488
    template <typename... Args>
489
    void construct(Args&&... args) noexcept(
490
        std::is_nothrow_constructible_v<T, Args...>)
491
    {
492
        scn::detail::construct_at(&get_value(), std::forward<Args>(args)...);
493
        m_has_value = true;
494
    }
495
    template <typename... Args>
496
    void construct_unexpected(Args&&... args) noexcept(
497
        std::is_nothrow_constructible_v<E, Args...>)
498
    {
499
        scn::detail::construct_at(&get_unexpected(),
500
                                  std::forward<Args>(args)...);
501
        m_has_value = false;
502
    }
503
504
    // No-op, because T and E are trivially destructible
505
    static constexpr void destroy_value() noexcept {}
506
    static constexpr void destroy_unexpected() noexcept {}
507
508
private:
509
    union {
510
        T m_value;
511
        unexpected<E> m_unexpected;
512
        char m_deferred_init;
513
    };
514
    bool m_has_value;
515
};
516
517
template <typename E>
518
struct SCN_TRIVIAL_ABI expected_storage_base<void, E, true> {
519
    constexpr expected_storage_base() noexcept : m_has_value(true) {}
520
521
    explicit constexpr expected_storage_base(deferred_init_tag_t) noexcept
522
        : m_deferred_init(), m_has_value(false)
523
    {
524
    }
525
526
    explicit constexpr expected_storage_base(std::in_place_t) noexcept
527
        : m_has_value(true)
528
    {
529
    }
530
531
    template <typename... Args,
532
              typename = std::enable_if_t<std::is_constructible_v<E, Args...>>>
533
    explicit constexpr expected_storage_base(
534
        unexpect_t,
535
        Args&&... args) noexcept(std::is_nothrow_constructible_v<E, Args...>)
536
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
537
          m_has_value(false)
538
    {
539
    }
540
541
    constexpr unexpected<E>& get_unexpected() & noexcept
542
    {
543
        return m_unexpected;
544
    }
545
    constexpr const unexpected<E>& get_unexpected() const& noexcept
546
    {
547
        return m_unexpected;
548
    }
549
    constexpr unexpected<E>&& get_unexpected() && noexcept
550
    {
551
        return std::move(m_unexpected);
552
    }
553
    constexpr const unexpected<E>&& get_unexpected() const&& noexcept
554
    {
555
        return std::move(m_unexpected);
556
    }
557
558
    SCN_NODISCARD constexpr bool has_value() const noexcept
559
    {
560
        return m_has_value;
561
    }
562
563
    template <typename... Args>
564
    void construct(Args&&...) noexcept
565
    {
566
        m_has_value = true;
567
    }
568
    template <typename... Args>
569
    void construct_unexpected(Args&&... args) noexcept(
570
        std::is_nothrow_constructible_v<E, Args...>)
571
    {
572
        scn::detail::construct_at(&get_unexpected(),
573
                                  std::forward<Args>(args)...);
574
        m_has_value = false;
575
    }
576
577
    static constexpr void destroy_value() noexcept {}
578
    static constexpr void destroy_unexpected() noexcept {}
579
580
private:
581
    union {
582
        unexpected<E> m_unexpected;
583
        char m_deferred_init;
584
    };
585
    bool m_has_value;
586
};
587
588
/**
589
 * Implementation of `std::max` without including `<algorithm>`
590
 */
591
template <typename T>
592
constexpr T max(T a, T b) noexcept
593
0
{
594
0
    return (a < b) ? b : a;
595
0
}
596
597
template <typename T, typename E>
598
struct SCN_TRIVIAL_ABI expected_storage_base<T, E, false> {
599
    constexpr expected_storage_base() noexcept : m_has_value(true)
600
    {
601
        construct();
602
    }
603
604
    explicit constexpr expected_storage_base(deferred_init_tag_t) noexcept
605
        : m_has_value(false)
606
    {
607
    }
608
609
    template <typename... Args,
610
              typename = std::enable_if_t<std::is_constructible_v<T, Args...>>>
611
    explicit constexpr expected_storage_base(
612
        std::in_place_t,
613
        Args&&... args) noexcept(std::is_nothrow_constructible_v<T, Args...>)
614
2.03M
        : m_has_value(true)
615
2.03M
    {
616
2.03M
        construct(std::forward<Args>(args)...);
617
2.03M
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::in_place_t, std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::expected_storage_base<std::__1::tuple<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::in_place_t, std::__1::tuple<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
614
58.2k
        : m_has_value(true)
615
58.2k
    {
616
58.2k
        construct(std::forward<Args>(args)...);
617
58.2k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::in_place_t, std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
scn::v3::detail::expected_storage_base<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::expected_storage_base<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::in_place_t, std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
614
58.2k
        : m_has_value(true)
615
58.2k
    {
616
58.2k
        construct(std::forward<Args>(args)...);
617
58.2k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::in_place_t, std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::expected_storage_base<std::__1::tuple<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::in_place_t, std::__1::tuple<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
614
596
        : m_has_value(true)
615
596
    {
616
596
        construct(std::forward<Args>(args)...);
617
596
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::in_place_t, std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
scn::v3::detail::expected_storage_base<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::expected_storage_base<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::in_place_t, std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
614
596
        : m_has_value(true)
615
596
    {
616
596
        construct(std::forward<Args>(args)...);
617
596
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
614
111k
        : m_has_value(true)
615
111k
    {
616
111k
        construct(std::forward<Args>(args)...);
617
111k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error, false>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >&&)
Line
Count
Source
614
990
        : m_has_value(true)
615
990
    {
616
990
        construct(std::forward<Args>(args)...);
617
990
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
614
474
        : m_has_value(true)
615
474
    {
616
474
        construct(std::forward<Args>(args)...);
617
474
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error, false>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >&&)
Line
Count
Source
614
834k
        : m_has_value(true)
615
834k
    {
616
834k
        construct(std::forward<Args>(args)...);
617
834k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
614
138k
        : m_has_value(true)
615
138k
    {
616
138k
        construct(std::forward<Args>(args)...);
617
138k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error, false>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >&&)
Line
Count
Source
614
833k
        : m_has_value(true)
615
833k
    {
616
833k
        construct(std::forward<Args>(args)...);
617
833k
    }
618
619
    template <typename... Args,
620
              typename = std::enable_if_t<std::is_constructible_v<E, Args...>>>
621
    explicit constexpr expected_storage_base(
622
        unexpect_t,
623
        Args&&... args) noexcept(std::is_nothrow_constructible_v<E, Args...>)
624
184k
        : m_has_value(false)
625
184k
    {
626
184k
        construct_unexpected(std::in_place, std::forward<Args>(args)...);
627
184k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
624
3.07k
        : m_has_value(false)
625
3.07k
    {
626
3.07k
        construct_unexpected(std::in_place, std::forward<Args>(args)...);
627
3.07k
    }
scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
624
20
        : m_has_value(false)
625
20
    {
626
20
        construct_unexpected(std::in_place, std::forward<Args>(args)...);
627
20
    }
scn::v3::detail::expected_storage_base<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
624
3.27k
        : m_has_value(false)
625
3.27k
    {
626
3.27k
        construct_unexpected(std::in_place, std::forward<Args>(args)...);
627
3.27k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
624
16.4k
        : m_has_value(false)
625
16.4k
    {
626
16.4k
        construct_unexpected(std::in_place, std::forward<Args>(args)...);
627
16.4k
    }
scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
624
40
        : m_has_value(false)
625
40
    {
626
40
        construct_unexpected(std::in_place, std::forward<Args>(args)...);
627
40
    }
scn::v3::detail::expected_storage_base<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
624
16.4k
        : m_has_value(false)
625
16.4k
    {
626
16.4k
        construct_unexpected(std::in_place, std::forward<Args>(args)...);
627
16.4k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
624
23.6k
        : m_has_value(false)
625
23.6k
    {
626
23.6k
        construct_unexpected(std::in_place, std::forward<Args>(args)...);
627
23.6k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error, false>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
624
10.2k
        : m_has_value(false)
625
10.2k
    {
626
10.2k
        construct_unexpected(std::in_place, std::forward<Args>(args)...);
627
10.2k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
624
21.9k
        : m_has_value(false)
625
21.9k
    {
626
21.9k
        construct_unexpected(std::in_place, std::forward<Args>(args)...);
627
21.9k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error, false>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
624
48.7k
        : m_has_value(false)
625
48.7k
    {
626
48.7k
        construct_unexpected(std::in_place, std::forward<Args>(args)...);
627
48.7k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
624
13.4k
        : m_has_value(false)
625
13.4k
    {
626
13.4k
        construct_unexpected(std::in_place, std::forward<Args>(args)...);
627
13.4k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error, false>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
624
26.8k
        : m_has_value(false)
625
26.8k
    {
626
26.8k
        construct_unexpected(std::in_place, std::forward<Args>(args)...);
627
26.8k
    }
628
629
    ~expected_storage_base()
630
2.22M
    {
631
2.22M
        if (has_value()) {
632
2.03M
            destroy_value();
633
2.03M
        }
634
184k
        else {
635
184k
            destroy_unexpected();
636
184k
        }
637
2.22M
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::~expected_storage_base()
scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::~expected_storage_base()
Line
Count
Source
630
61.3k
    {
631
61.3k
        if (has_value()) {
632
58.2k
            destroy_value();
633
58.2k
        }
634
3.07k
        else {
635
3.07k
            destroy_unexpected();
636
3.07k
        }
637
61.3k
    }
scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::~expected_storage_base()
Line
Count
Source
630
20
    {
631
20
        if (has_value()) {
632
0
            destroy_value();
633
0
        }
634
20
        else {
635
20
            destroy_unexpected();
636
20
        }
637
20
    }
scn::v3::detail::expected_storage_base<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::~expected_storage_base()
Line
Count
Source
630
61.5k
    {
631
61.5k
        if (has_value()) {
632
58.2k
            destroy_value();
633
58.2k
        }
634
3.27k
        else {
635
3.27k
            destroy_unexpected();
636
3.27k
        }
637
61.5k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::~expected_storage_base()
scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::~expected_storage_base()
Line
Count
Source
630
17.0k
    {
631
17.0k
        if (has_value()) {
632
596
            destroy_value();
633
596
        }
634
16.4k
        else {
635
16.4k
            destroy_unexpected();
636
16.4k
        }
637
17.0k
    }
scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::~expected_storage_base()
Line
Count
Source
630
40
    {
631
40
        if (has_value()) {
632
0
            destroy_value();
633
0
        }
634
40
        else {
635
40
            destroy_unexpected();
636
40
        }
637
40
    }
scn::v3::detail::expected_storage_base<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::~expected_storage_base()
Line
Count
Source
630
17.0k
    {
631
17.0k
        if (has_value()) {
632
596
            destroy_value();
633
596
        }
634
16.4k
        else {
635
16.4k
            destroy_unexpected();
636
16.4k
        }
637
17.0k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::~expected_storage_base()
Line
Count
Source
630
134k
    {
631
134k
        if (has_value()) {
632
111k
            destroy_value();
633
111k
        }
634
23.6k
        else {
635
23.6k
            destroy_unexpected();
636
23.6k
        }
637
134k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error, false>::~expected_storage_base()
Line
Count
Source
630
11.1k
    {
631
11.1k
        if (has_value()) {
632
990
            destroy_value();
633
990
        }
634
10.2k
        else {
635
10.2k
            destroy_unexpected();
636
10.2k
        }
637
11.1k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::~expected_storage_base()
Line
Count
Source
630
22.3k
    {
631
22.3k
        if (has_value()) {
632
474
            destroy_value();
633
474
        }
634
21.9k
        else {
635
21.9k
            destroy_unexpected();
636
21.9k
        }
637
22.3k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error, false>::~expected_storage_base()
Line
Count
Source
630
882k
    {
631
882k
        if (has_value()) {
632
834k
            destroy_value();
633
834k
        }
634
48.7k
        else {
635
48.7k
            destroy_unexpected();
636
48.7k
        }
637
882k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::~expected_storage_base()
Line
Count
Source
630
151k
    {
631
151k
        if (has_value()) {
632
138k
            destroy_value();
633
138k
        }
634
13.4k
        else {
635
13.4k
            destroy_unexpected();
636
13.4k
        }
637
151k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error, false>::~expected_storage_base()
Line
Count
Source
630
860k
    {
631
860k
        if (has_value()) {
632
833k
            destroy_value();
633
833k
        }
634
26.8k
        else {
635
26.8k
            destroy_unexpected();
636
26.8k
        }
637
860k
    }
638
639
    constexpr T& get_value() & noexcept
640
2.03M
    {
641
2.03M
        return *value_ptr();
642
2.03M
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::get_value() &
scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::get_value() &
Line
Count
Source
640
58.2k
    {
641
58.2k
        return *value_ptr();
642
58.2k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::get_value() &
scn::v3::detail::expected_storage_base<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::get_value() &
Line
Count
Source
640
58.2k
    {
641
58.2k
        return *value_ptr();
642
58.2k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::get_value() &
scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::get_value() &
Line
Count
Source
640
596
    {
641
596
        return *value_ptr();
642
596
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::get_value() &
scn::v3::detail::expected_storage_base<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::get_value() &
Line
Count
Source
640
596
    {
641
596
        return *value_ptr();
642
596
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::get_value() &
Line
Count
Source
640
110k
    {
641
110k
        return *value_ptr();
642
110k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::get_value() &
Line
Count
Source
640
138k
    {
641
138k
        return *value_ptr();
642
138k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error, false>::get_value() &
Line
Count
Source
640
833k
    {
641
833k
        return *value_ptr();
642
833k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error, false>::get_value() &
Line
Count
Source
640
833k
    {
641
833k
        return *value_ptr();
642
833k
    }
643
    constexpr const T& get_value() const& noexcept
644
    {
645
        return *value_ptr();
646
    }
647
    constexpr T&& get_value() && noexcept
648
    {
649
        return std::move(*value_ptr());
650
    }
651
    constexpr const T&& get_value() const&& noexcept
652
    {
653
        return std::move(*value_ptr());
654
    }
655
656
    constexpr unexpected<E>& get_unexpected() & noexcept
657
39.2k
    {
658
39.2k
        return *unexpected_ptr();
659
39.2k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::get_unexpected() &
scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::get_unexpected() &
Line
Count
Source
657
3.07k
    {
658
3.07k
        return *unexpected_ptr();
659
3.07k
    }
scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::get_unexpected() &
Line
Count
Source
657
20
    {
658
20
        return *unexpected_ptr();
659
20
    }
scn::v3::detail::expected_storage_base<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::get_unexpected() &
Line
Count
Source
657
3.27k
    {
658
3.27k
        return *unexpected_ptr();
659
3.27k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::get_unexpected() &
scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::get_unexpected() &
Line
Count
Source
657
16.4k
    {
658
16.4k
        return *unexpected_ptr();
659
16.4k
    }
scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::get_unexpected() &
Line
Count
Source
657
40
    {
658
40
        return *unexpected_ptr();
659
40
    }
scn::v3::detail::expected_storage_base<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::get_unexpected() &
Line
Count
Source
657
16.4k
    {
658
16.4k
        return *unexpected_ptr();
659
16.4k
    }
660
    constexpr const unexpected<E>& get_unexpected() const& noexcept
661
    {
662
        return *unexpected_ptr();
663
    }
664
    constexpr unexpected<E>&& get_unexpected() && noexcept
665
    {
666
        return std::move(*unexpected_ptr());
667
    }
668
    constexpr const unexpected<E>&& get_unexpected() const&& noexcept
669
    {
670
        return std::move(*unexpected_ptr());
671
    }
672
673
    SCN_NODISCARD constexpr bool has_value() const noexcept
674
6.44M
    {
675
6.44M
        return m_has_value;
676
6.44M
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::has_value() const
scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::has_value() const
Line
Count
Source
674
184k
    {
675
184k
        return m_has_value;
676
184k
    }
scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::has_value() const
Line
Count
Source
674
60
    {
675
60
        return m_has_value;
676
60
    }
scn::v3::detail::expected_storage_base<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::has_value() const
Line
Count
Source
674
184k
    {
675
184k
        return m_has_value;
676
184k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::has_value() const
scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::has_value() const
Line
Count
Source
674
51.0k
    {
675
51.0k
        return m_has_value;
676
51.0k
    }
scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::has_value() const
Line
Count
Source
674
120
    {
675
120
        return m_has_value;
676
120
    }
scn::v3::detail::expected_storage_base<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::has_value() const
Line
Count
Source
674
51.1k
    {
675
51.1k
        return m_has_value;
676
51.1k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::has_value() const
Line
Count
Source
674
368k
    {
675
368k
        return m_has_value;
676
368k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error, false>::has_value() const
Line
Count
Source
674
11.1k
    {
675
11.1k
        return m_has_value;
676
11.1k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::has_value() const
Line
Count
Source
674
22.3k
    {
675
22.3k
        return m_has_value;
676
22.3k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error, false>::has_value() const
Line
Count
Source
674
2.57M
    {
675
2.57M
        return m_has_value;
676
2.57M
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::has_value() const
Line
Count
Source
674
441k
    {
675
441k
        return m_has_value;
676
441k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error, false>::has_value() const
Line
Count
Source
674
2.55M
    {
675
2.55M
        return m_has_value;
676
2.55M
    }
677
678
    template <typename... Args>
679
    void construct(Args&&... args) noexcept(
680
        std::is_nothrow_constructible_v<T, Args...>)
681
2.03M
    {
682
2.03M
        scn::detail::construct_at(value_ptr(), std::forward<Args>(args)...);
683
2.03M
        m_has_value = true;
684
2.03M
    }
Unexecuted instantiation: void scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::construct<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
void scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::construct<std::__1::tuple<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
681
58.2k
    {
682
58.2k
        scn::detail::construct_at(value_ptr(), std::forward<Args>(args)...);
683
58.2k
        m_has_value = true;
684
58.2k
    }
Unexecuted instantiation: void scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::construct<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
void scn::v3::detail::expected_storage_base<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::construct<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
681
58.2k
    {
682
58.2k
        scn::detail::construct_at(value_ptr(), std::forward<Args>(args)...);
683
58.2k
        m_has_value = true;
684
58.2k
    }
Unexecuted instantiation: void scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::construct<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
void scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::construct<std::__1::tuple<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
681
596
    {
682
596
        scn::detail::construct_at(value_ptr(), std::forward<Args>(args)...);
683
596
        m_has_value = true;
684
596
    }
Unexecuted instantiation: void scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::construct<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
void scn::v3::detail::expected_storage_base<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::construct<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
681
596
    {
682
596
        scn::detail::construct_at(value_ptr(), std::forward<Args>(args)...);
683
596
        m_has_value = true;
684
596
    }
void scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::construct<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
681
111k
    {
682
111k
        scn::detail::construct_at(value_ptr(), std::forward<Args>(args)...);
683
111k
        m_has_value = true;
684
111k
    }
void scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error, false>::construct<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > > >(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >&&)
Line
Count
Source
681
990
    {
682
990
        scn::detail::construct_at(value_ptr(), std::forward<Args>(args)...);
683
990
        m_has_value = true;
684
990
    }
void scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::construct<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
681
474
    {
682
474
        scn::detail::construct_at(value_ptr(), std::forward<Args>(args)...);
683
474
        m_has_value = true;
684
474
    }
void scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error, false>::construct<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > > >(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >&&)
Line
Count
Source
681
834k
    {
682
834k
        scn::detail::construct_at(value_ptr(), std::forward<Args>(args)...);
683
834k
        m_has_value = true;
684
834k
    }
void scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::construct<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
681
138k
    {
682
138k
        scn::detail::construct_at(value_ptr(), std::forward<Args>(args)...);
683
138k
        m_has_value = true;
684
138k
    }
void scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error, false>::construct<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > > >(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >&&)
Line
Count
Source
681
833k
    {
682
833k
        scn::detail::construct_at(value_ptr(), std::forward<Args>(args)...);
683
833k
        m_has_value = true;
684
833k
    }
685
    template <typename... Args>
686
    void construct_unexpected(Args&&... args) noexcept(
687
        std::is_nothrow_constructible_v<E, Args...>)
688
184k
    {
689
184k
        scn::detail::construct_at(unexpected_ptr(),
690
184k
                                  std::forward<Args>(args)...);
691
184k
        m_has_value = false;
692
184k
    }
Unexecuted instantiation: void scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::construct_unexpected<std::__1::in_place_t const&, scn::v3::scan_error>(std::__1::in_place_t const&, scn::v3::scan_error&&)
void scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::construct_unexpected<std::__1::in_place_t const&, scn::v3::scan_error>(std::__1::in_place_t const&, scn::v3::scan_error&&)
Line
Count
Source
688
3.07k
    {
689
3.07k
        scn::detail::construct_at(unexpected_ptr(),
690
3.07k
                                  std::forward<Args>(args)...);
691
3.07k
        m_has_value = false;
692
3.07k
    }
void scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::construct_unexpected<std::__1::in_place_t const&, scn::v3::scan_error>(std::__1::in_place_t const&, scn::v3::scan_error&&)
Line
Count
Source
688
20
    {
689
20
        scn::detail::construct_at(unexpected_ptr(),
690
20
                                  std::forward<Args>(args)...);
691
20
        m_has_value = false;
692
20
    }
void scn::v3::detail::expected_storage_base<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::construct_unexpected<std::__1::in_place_t const&, scn::v3::scan_error>(std::__1::in_place_t const&, scn::v3::scan_error&&)
Line
Count
Source
688
3.27k
    {
689
3.27k
        scn::detail::construct_at(unexpected_ptr(),
690
3.27k
                                  std::forward<Args>(args)...);
691
3.27k
        m_has_value = false;
692
3.27k
    }
Unexecuted instantiation: void scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::construct_unexpected<std::__1::in_place_t const&, scn::v3::scan_error>(std::__1::in_place_t const&, scn::v3::scan_error&&)
void scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::construct_unexpected<std::__1::in_place_t const&, scn::v3::scan_error>(std::__1::in_place_t const&, scn::v3::scan_error&&)
Line
Count
Source
688
16.4k
    {
689
16.4k
        scn::detail::construct_at(unexpected_ptr(),
690
16.4k
                                  std::forward<Args>(args)...);
691
16.4k
        m_has_value = false;
692
16.4k
    }
void scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::construct_unexpected<std::__1::in_place_t const&, scn::v3::scan_error>(std::__1::in_place_t const&, scn::v3::scan_error&&)
Line
Count
Source
688
40
    {
689
40
        scn::detail::construct_at(unexpected_ptr(),
690
40
                                  std::forward<Args>(args)...);
691
40
        m_has_value = false;
692
40
    }
void scn::v3::detail::expected_storage_base<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::construct_unexpected<std::__1::in_place_t const&, scn::v3::scan_error>(std::__1::in_place_t const&, scn::v3::scan_error&&)
Line
Count
Source
688
16.4k
    {
689
16.4k
        scn::detail::construct_at(unexpected_ptr(),
690
16.4k
                                  std::forward<Args>(args)...);
691
16.4k
        m_has_value = false;
692
16.4k
    }
void scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::construct_unexpected<std::__1::in_place_t const&, scn::v3::scan_error>(std::__1::in_place_t const&, scn::v3::scan_error&&)
Line
Count
Source
688
23.6k
    {
689
23.6k
        scn::detail::construct_at(unexpected_ptr(),
690
23.6k
                                  std::forward<Args>(args)...);
691
23.6k
        m_has_value = false;
692
23.6k
    }
void scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error, false>::construct_unexpected<std::__1::in_place_t const&, scn::v3::scan_error>(std::__1::in_place_t const&, scn::v3::scan_error&&)
Line
Count
Source
688
10.2k
    {
689
10.2k
        scn::detail::construct_at(unexpected_ptr(),
690
10.2k
                                  std::forward<Args>(args)...);
691
10.2k
        m_has_value = false;
692
10.2k
    }
void scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::construct_unexpected<std::__1::in_place_t const&, scn::v3::scan_error>(std::__1::in_place_t const&, scn::v3::scan_error&&)
Line
Count
Source
688
21.9k
    {
689
21.9k
        scn::detail::construct_at(unexpected_ptr(),
690
21.9k
                                  std::forward<Args>(args)...);
691
21.9k
        m_has_value = false;
692
21.9k
    }
void scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error, false>::construct_unexpected<std::__1::in_place_t const&, scn::v3::scan_error>(std::__1::in_place_t const&, scn::v3::scan_error&&)
Line
Count
Source
688
48.7k
    {
689
48.7k
        scn::detail::construct_at(unexpected_ptr(),
690
48.7k
                                  std::forward<Args>(args)...);
691
48.7k
        m_has_value = false;
692
48.7k
    }
void scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::construct_unexpected<std::__1::in_place_t const&, scn::v3::scan_error>(std::__1::in_place_t const&, scn::v3::scan_error&&)
Line
Count
Source
688
13.4k
    {
689
13.4k
        scn::detail::construct_at(unexpected_ptr(),
690
13.4k
                                  std::forward<Args>(args)...);
691
13.4k
        m_has_value = false;
692
13.4k
    }
void scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error, false>::construct_unexpected<std::__1::in_place_t const&, scn::v3::scan_error>(std::__1::in_place_t const&, scn::v3::scan_error&&)
Line
Count
Source
688
26.8k
    {
689
26.8k
        scn::detail::construct_at(unexpected_ptr(),
690
26.8k
                                  std::forward<Args>(args)...);
691
26.8k
        m_has_value = false;
692
26.8k
    }
693
694
    void destroy_value() noexcept
695
2.03M
    {
696
2.03M
        scn::detail::destroy_at(value_ptr());
697
2.03M
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::destroy_value()
scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::destroy_value()
Line
Count
Source
695
58.2k
    {
696
58.2k
        scn::detail::destroy_at(value_ptr());
697
58.2k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::destroy_value()
scn::v3::detail::expected_storage_base<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::destroy_value()
Line
Count
Source
695
58.2k
    {
696
58.2k
        scn::detail::destroy_at(value_ptr());
697
58.2k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::destroy_value()
scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::destroy_value()
Line
Count
Source
695
596
    {
696
596
        scn::detail::destroy_at(value_ptr());
697
596
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::destroy_value()
scn::v3::detail::expected_storage_base<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::destroy_value()
Line
Count
Source
695
596
    {
696
596
        scn::detail::destroy_at(value_ptr());
697
596
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::destroy_value()
Line
Count
Source
695
111k
    {
696
111k
        scn::detail::destroy_at(value_ptr());
697
111k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error, false>::destroy_value()
Line
Count
Source
695
990
    {
696
990
        scn::detail::destroy_at(value_ptr());
697
990
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::destroy_value()
Line
Count
Source
695
474
    {
696
474
        scn::detail::destroy_at(value_ptr());
697
474
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error, false>::destroy_value()
Line
Count
Source
695
834k
    {
696
834k
        scn::detail::destroy_at(value_ptr());
697
834k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::destroy_value()
Line
Count
Source
695
138k
    {
696
138k
        scn::detail::destroy_at(value_ptr());
697
138k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error, false>::destroy_value()
Line
Count
Source
695
833k
    {
696
833k
        scn::detail::destroy_at(value_ptr());
697
833k
    }
698
    void destroy_unexpected() noexcept
699
184k
    {
700
184k
        scn::detail::destroy_at(unexpected_ptr());
701
184k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::destroy_unexpected()
scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::destroy_unexpected()
Line
Count
Source
699
3.07k
    {
700
3.07k
        scn::detail::destroy_at(unexpected_ptr());
701
3.07k
    }
scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::destroy_unexpected()
Line
Count
Source
699
20
    {
700
20
        scn::detail::destroy_at(unexpected_ptr());
701
20
    }
scn::v3::detail::expected_storage_base<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::destroy_unexpected()
Line
Count
Source
699
3.27k
    {
700
3.27k
        scn::detail::destroy_at(unexpected_ptr());
701
3.27k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::destroy_unexpected()
scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::destroy_unexpected()
Line
Count
Source
699
16.4k
    {
700
16.4k
        scn::detail::destroy_at(unexpected_ptr());
701
16.4k
    }
scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::destroy_unexpected()
Line
Count
Source
699
40
    {
700
40
        scn::detail::destroy_at(unexpected_ptr());
701
40
    }
scn::v3::detail::expected_storage_base<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::destroy_unexpected()
Line
Count
Source
699
16.4k
    {
700
16.4k
        scn::detail::destroy_at(unexpected_ptr());
701
16.4k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::destroy_unexpected()
Line
Count
Source
699
23.6k
    {
700
23.6k
        scn::detail::destroy_at(unexpected_ptr());
701
23.6k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error, false>::destroy_unexpected()
Line
Count
Source
699
10.2k
    {
700
10.2k
        scn::detail::destroy_at(unexpected_ptr());
701
10.2k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::destroy_unexpected()
Line
Count
Source
699
21.9k
    {
700
21.9k
        scn::detail::destroy_at(unexpected_ptr());
701
21.9k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error, false>::destroy_unexpected()
Line
Count
Source
699
48.7k
    {
700
48.7k
        scn::detail::destroy_at(unexpected_ptr());
701
48.7k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::destroy_unexpected()
Line
Count
Source
699
13.4k
    {
700
13.4k
        scn::detail::destroy_at(unexpected_ptr());
701
13.4k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error, false>::destroy_unexpected()
Line
Count
Source
699
26.8k
    {
700
26.8k
        scn::detail::destroy_at(unexpected_ptr());
701
26.8k
    }
702
703
private:
704
    T* value_ptr() noexcept
705
6.10M
    {
706
6.10M
        return reinterpret_cast<T*>(SCN_ASSUME_ALIGNED(m_memory, alignof(T)));
707
6.10M
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::value_ptr()
scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::value_ptr()
Line
Count
Source
705
174k
    {
706
174k
        return reinterpret_cast<T*>(SCN_ASSUME_ALIGNED(m_memory, alignof(T)));
707
174k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::value_ptr()
scn::v3::detail::expected_storage_base<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::value_ptr()
Line
Count
Source
705
174k
    {
706
174k
        return reinterpret_cast<T*>(SCN_ASSUME_ALIGNED(m_memory, alignof(T)));
707
174k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::value_ptr()
scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::value_ptr()
Line
Count
Source
705
1.78k
    {
706
1.78k
        return reinterpret_cast<T*>(SCN_ASSUME_ALIGNED(m_memory, alignof(T)));
707
1.78k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::value_ptr()
scn::v3::detail::expected_storage_base<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::value_ptr()
Line
Count
Source
705
1.78k
    {
706
1.78k
        return reinterpret_cast<T*>(SCN_ASSUME_ALIGNED(m_memory, alignof(T)));
707
1.78k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::value_ptr()
Line
Count
Source
705
332k
    {
706
332k
        return reinterpret_cast<T*>(SCN_ASSUME_ALIGNED(m_memory, alignof(T)));
707
332k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error, false>::value_ptr()
Line
Count
Source
705
1.98k
    {
706
1.98k
        return reinterpret_cast<T*>(SCN_ASSUME_ALIGNED(m_memory, alignof(T)));
707
1.98k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::value_ptr()
Line
Count
Source
705
948
    {
706
948
        return reinterpret_cast<T*>(SCN_ASSUME_ALIGNED(m_memory, alignof(T)));
707
948
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error, false>::value_ptr()
Line
Count
Source
705
2.50M
    {
706
2.50M
        return reinterpret_cast<T*>(SCN_ASSUME_ALIGNED(m_memory, alignof(T)));
707
2.50M
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::value_ptr()
Line
Count
Source
705
414k
    {
706
414k
        return reinterpret_cast<T*>(SCN_ASSUME_ALIGNED(m_memory, alignof(T)));
707
414k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error, false>::value_ptr()
Line
Count
Source
705
2.50M
    {
706
2.50M
        return reinterpret_cast<T*>(SCN_ASSUME_ALIGNED(m_memory, alignof(T)));
707
2.50M
    }
708
    const T* value_ptr() const noexcept
709
    {
710
        return reinterpret_cast<const T*>(
711
            SCN_ASSUME_ALIGNED(m_memory, alignof(T)));
712
    }
713
714
    SCN_GCC_PUSH
715
    SCN_GCC_IGNORE("-Wcast-align")
716
    unexpected<E>* unexpected_ptr() noexcept
717
407k
    {
718
407k
        return reinterpret_cast<unexpected<E>*>(
719
407k
            SCN_ASSUME_ALIGNED(m_memory, alignof(unexpected<E>)));
720
407k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::unexpected_ptr()
scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::unexpected_ptr()
Line
Count
Source
717
9.21k
    {
718
9.21k
        return reinterpret_cast<unexpected<E>*>(
719
9.21k
            SCN_ASSUME_ALIGNED(m_memory, alignof(unexpected<E>)));
720
9.21k
    }
scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::unexpected_ptr()
Line
Count
Source
717
60
    {
718
60
        return reinterpret_cast<unexpected<E>*>(
719
60
            SCN_ASSUME_ALIGNED(m_memory, alignof(unexpected<E>)));
720
60
    }
scn::v3::detail::expected_storage_base<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::unexpected_ptr()
Line
Count
Source
717
9.83k
    {
718
9.83k
        return reinterpret_cast<unexpected<E>*>(
719
9.83k
            SCN_ASSUME_ALIGNED(m_memory, alignof(unexpected<E>)));
720
9.83k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::unexpected_ptr()
scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::unexpected_ptr()
Line
Count
Source
717
49.2k
    {
718
49.2k
        return reinterpret_cast<unexpected<E>*>(
719
49.2k
            SCN_ASSUME_ALIGNED(m_memory, alignof(unexpected<E>)));
720
49.2k
    }
scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::unexpected_ptr()
Line
Count
Source
717
120
    {
718
120
        return reinterpret_cast<unexpected<E>*>(
719
120
            SCN_ASSUME_ALIGNED(m_memory, alignof(unexpected<E>)));
720
120
    }
scn::v3::detail::expected_storage_base<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::unexpected_ptr()
Line
Count
Source
717
49.3k
    {
718
49.3k
        return reinterpret_cast<unexpected<E>*>(
719
49.3k
            SCN_ASSUME_ALIGNED(m_memory, alignof(unexpected<E>)));
720
49.3k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::unexpected_ptr()
Line
Count
Source
717
47.2k
    {
718
47.2k
        return reinterpret_cast<unexpected<E>*>(
719
47.2k
            SCN_ASSUME_ALIGNED(m_memory, alignof(unexpected<E>)));
720
47.2k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error, false>::unexpected_ptr()
Line
Count
Source
717
20.4k
    {
718
20.4k
        return reinterpret_cast<unexpected<E>*>(
719
20.4k
            SCN_ASSUME_ALIGNED(m_memory, alignof(unexpected<E>)));
720
20.4k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::unexpected_ptr()
Line
Count
Source
717
43.8k
    {
718
43.8k
        return reinterpret_cast<unexpected<E>*>(
719
43.8k
            SCN_ASSUME_ALIGNED(m_memory, alignof(unexpected<E>)));
720
43.8k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error, false>::unexpected_ptr()
Line
Count
Source
717
97.5k
    {
718
97.5k
        return reinterpret_cast<unexpected<E>*>(
719
97.5k
            SCN_ASSUME_ALIGNED(m_memory, alignof(unexpected<E>)));
720
97.5k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::unexpected_ptr()
Line
Count
Source
717
26.8k
    {
718
26.8k
        return reinterpret_cast<unexpected<E>*>(
719
26.8k
            SCN_ASSUME_ALIGNED(m_memory, alignof(unexpected<E>)));
720
26.8k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error, false>::unexpected_ptr()
Line
Count
Source
717
53.7k
    {
718
53.7k
        return reinterpret_cast<unexpected<E>*>(
719
53.7k
            SCN_ASSUME_ALIGNED(m_memory, alignof(unexpected<E>)));
720
53.7k
    }
721
    const unexpected<E>* unexpected_ptr() const noexcept
722
    {
723
        return reinterpret_cast<const unexpected<E>*>(
724
            SCN_ASSUME_ALIGNED(m_memory, alignof(unexpected<E>)));
725
    }
726
    SCN_GCC_POP
727
728
    static constexpr std::size_t required_size =
729
        detail::max(sizeof(T), sizeof(unexpected<E>));
730
    static constexpr std::size_t required_alignment =
731
        detail::max(alignof(T), alignof(unexpected<E>));
732
733
    alignas(required_alignment) unsigned char m_memory[required_size];
734
    bool m_has_value;
735
};
736
737
template <typename E>
738
struct SCN_TRIVIAL_ABI expected_storage_base<void, E, false> {
739
    constexpr expected_storage_base() noexcept : m_has_value(true) {}
740
741
    explicit constexpr expected_storage_base(deferred_init_tag_t) noexcept
742
        : m_has_value(false)
743
    {
744
    }
745
746
    explicit constexpr expected_storage_base(std::in_place_t) noexcept
747
        : m_has_value(true)
748
    {
749
    }
750
751
    template <typename... Args,
752
              typename = std::enable_if_t<std::is_constructible_v<E, Args...>>>
753
    explicit constexpr expected_storage_base(
754
        unexpect_t,
755
        Args&&... args) noexcept(std::is_nothrow_constructible_v<E, Args...>)
756
        : m_has_value(false)
757
    {
758
        construct_unexpected(std::in_place, std::forward<Args>(args)...);
759
    }
760
761
    ~expected_storage_base()
762
    {
763
        if (!has_value()) {
764
            destroy_unexpected();
765
        }
766
    }
767
768
    constexpr unexpected<E>& get_unexpected() & noexcept
769
    {
770
        return *unexpected_ptr();
771
    }
772
    constexpr const unexpected<E>& get_unexpected() const& noexcept
773
    {
774
        return *unexpected_ptr();
775
    }
776
    constexpr unexpected<E>&& get_unexpected() && noexcept
777
    {
778
        return std::move(*unexpected_ptr());
779
    }
780
    constexpr const unexpected<E>&& get_unexpected() const&& noexcept
781
    {
782
        return std::move(*unexpected_ptr());
783
    }
784
785
    SCN_NODISCARD constexpr bool has_value() const noexcept
786
    {
787
        return m_has_value;
788
    }
789
790
    template <typename... Args>
791
    constexpr void construct(Args&&...) noexcept
792
    {
793
        m_has_value = true;
794
    }
795
    template <typename... Args>
796
    void construct_unexpected(Args&&... args) noexcept(
797
        std::is_nothrow_constructible_v<E, Args...>)
798
    {
799
        scn::detail::construct_at(unexpected_ptr(),
800
                                  std::forward<Args>(args)...);
801
        m_has_value = false;
802
    }
803
804
    static constexpr void destroy_value() noexcept {}
805
    void destroy_unexpected() noexcept
806
    {
807
        scn::detail::destroy_at(unexpected_ptr());
808
    }
809
810
private:
811
    SCN_GCC_PUSH
812
    SCN_GCC_IGNORE("-Wcast-align")
813
    unexpected<E>* unexpected_ptr()
814
    {
815
        return reinterpret_cast<unexpected<E>*>(m_memory);
816
    }
817
    const unexpected<E>* unexpected_ptr() const
818
    {
819
        return reinterpret_cast<const unexpected<E>*>(m_memory);
820
    }
821
    SCN_GCC_POP
822
823
    static constexpr std::size_t required_size = sizeof(unexpected<E>);
824
    static constexpr std::size_t required_alignment = alignof(unexpected<E>);
825
826
    alignas(required_alignment) unsigned char m_memory[required_size];
827
    bool m_has_value;
828
};
829
830
template <typename T, typename U>
831
using is_void_or = std::conditional_t<std::is_void_v<T>, std::true_type, U>;
832
833
template <typename T,
834
          typename E,
835
          bool IsTriviallyCopyable =
836
              std::conjunction_v<std::is_trivially_copyable<T>,
837
                                 std::is_trivially_copyable<E>>>
838
struct expected_operations_base;
839
840
template <typename T, typename E>
841
struct SCN_TRIVIAL_ABI expected_operations_base<T, E, true>
842
    : expected_storage_base<T, E> {
843
    using expected_storage_base<T, E>::expected_storage_base;
844
};
845
846
template <typename T, typename E>
847
struct SCN_TRIVIAL_ABI expected_operations_base<T, E, false>
848
    : expected_storage_base<T, E> {
849
    using expected_storage_base<T, E>::expected_storage_base;
850
851
    expected_operations_base(const expected_operations_base& other) noexcept(
852
        std::is_nothrow_copy_constructible_v<T> &&
853
        std::is_nothrow_copy_constructible_v<E>)
854
        : expected_storage_base<T, E>(deferred_init_tag)
855
    {
856
        construct_common(other);
857
    }
858
    expected_operations_base(expected_operations_base&& other) noexcept(
859
        std::is_nothrow_move_constructible_v<T> &&
860
        std::is_nothrow_move_constructible_v<E>)
861
        : expected_storage_base<T, E>(deferred_init_tag)
862
    {
863
        construct_common(std::move(other));
864
    }
865
866
    expected_operations_base& operator=(const expected_operations_base& other)
867
    // gcc 11 and lower evaluate noexcept in a weird context
868
#if SCN_GCC && SCN_GCC < SCN_COMPILER(12, 0, 0)
869
        noexcept(noexcept(
870
            SCN_DECLVAL(expected_operations_base&).assign_common(other)))
871
#else
872
        noexcept(noexcept(assign_common(other)))
873
#endif
874
    {
875
        assign_common(other);
876
        return *this;
877
    }
878
    expected_operations_base& operator=(expected_operations_base&& other)
879
#if SCN_GCC && SCN_GCC < SCN_COMPILER(12, 0, 0)
880
        noexcept(noexcept(SCN_DECLVAL(expected_operations_base&)
881
                              .assign_common(std::move(other))))
882
#else
883
        noexcept(noexcept(assign_common(std::move(other))))
884
#endif
885
    {
886
        assign_common(std::move(other));
887
        return *this;
888
    }
889
890
    ~expected_operations_base() = default;
891
892
private:
893
    template <typename Other>
894
    void construct_common(Other&& other) noexcept(
895
        noexcept(expected_storage_base<T, E>::construct(
896
            std::forward<Other>(other).get_value())) &&
897
        noexcept(expected_storage_base<T, E>::construct_unexpected(
898
            std::forward<Other>(other).get_unexpected())))
899
    {
900
        if (other.has_value()) {
901
            this->construct(std::forward<Other>(other).get_value());
902
        }
903
        else {
904
            this->construct_unexpected(
905
                std::forward<Other>(other).get_unexpected());
906
        }
907
    }
908
909
    template <typename Other>
910
    void assign_common(Other&& other)
911
#if SCN_GCC && SCN_GCC < SCN_COMPILER(12, 0, 0)
912
        noexcept(
913
            noexcept(SCN_DECLVAL(expected_operations_base&)
914
                         .reassign_value(std::forward<Other>(other))) &&
915
            noexcept(SCN_DECLVAL(expected_operations_base&)
916
                         .reassign_unexpected(std::forward<Other>(other))) &&
917
            noexcept(SCN_DECLVAL(expected_operations_base&)
918
                         .assign_value_over_unexpected(
919
                             std::forward<Other>(other))) &&
920
            noexcept(
921
                SCN_DECLVAL(expected_operations_base&)
922
                    .assign_unexpected_over_value(std::forward<Other>(other))))
923
#else
924
        noexcept(
925
            noexcept(reassign_value(std::forward<Other>(other))) &&
926
            noexcept(reassign_unexpected(std::forward<Other>(other))) &&
927
            noexcept(
928
                assign_value_over_unexpected(std::forward<Other>(other))) &&
929
            noexcept(assign_unexpected_over_value(std::forward<Other>(other))))
930
#endif
931
    {
932
        if (this->has_value()) {
933
            if (other.has_value()) {
934
                return reassign_value(std::forward<Other>(other));
935
            }
936
            return assign_unexpected_over_value(std::forward<Other>(other));
937
        }
938
939
        if (other.has_value()) {
940
            return assign_value_over_unexpected(std::forward<Other>(other));
941
        }
942
        return reassign_unexpected(std::forward<Other>(other));
943
    }
944
945
    template <typename Other>
946
    void reassign_value(Other&& other) noexcept(
947
        std::is_nothrow_assignable_v<
948
            T,
949
            decltype(std::forward<Other>(other).get_value())>)
950
    {
951
        this->get_value() = std::forward<Other>(other).get_value();
952
    }
953
954
    template <typename Other>
955
    void reassign_unexpected(Other&& other) noexcept(
956
        std::is_nothrow_assignable_v<
957
            E,
958
            decltype(std::forward<Other>(other).get_unexpected())>)
959
    {
960
        this->get_unexpected() = std::forward<Other>(other).get_unexpected();
961
    }
962
963
#if SCN_HAS_EXCEPTIONS
964
    void assign_value_over_unexpected(
965
        const expected_operations_base&
966
            other) noexcept(std::is_nothrow_copy_constructible_v<T> ||
967
                            std::is_nothrow_move_constructible_v<T>)
968
    {
969
        if constexpr (std::is_nothrow_copy_constructible_v<T>) {
970
            this->destroy_unexpected();
971
            this->construct(other.get_value());
972
        }
973
        else if constexpr (std::is_nothrow_move_constructible_v<T>) {
974
            T tmp = other.get_value();
975
            this->destroy_unexpected();
976
            this->construct(std::move(tmp));
977
        }
978
        else {
979
            auto tmp = std::move(this->get_unexpecetd());
980
            this->destroy_unexpected();
981
982
            try {
983
                this->construct(other.get());
984
            }
985
            catch (...) {
986
                this->construct_unexpected(std::move(tmp));
987
                throw;
988
            }
989
        }
990
    }
991
992
    void
993
    assign_value_over_unexpected(expected_operations_base&& other) noexcept(
994
        std::is_nothrow_move_constructible_v<T>)
995
    {
996
        if constexpr (std::is_nothrow_move_constructible_v<T>) {
997
            this->destroy_unexpected();
998
            this->construct(std::move(other).get_value());
999
        }
1000
        else {
1001
            auto tmp = std::move(this->get_unexpected());
1002
            this->destroy_unexpected();
1003
1004
            try {
1005
                this->construct(std::move(other).get_value());
1006
            }
1007
            catch (...) {
1008
                this->construct_unexpected(std::move(tmp));
1009
                throw;
1010
            }
1011
        }
1012
    }
1013
#else
1014
    template <typename Other>
1015
    void assing_value_over_unexpected(Other&& other) noexcept
1016
    {
1017
        this->destroy_unexpected();
1018
        this->construct_value(std::forward<Other>(other).get_value());
1019
    }
1020
#endif
1021
1022
    template <typename Other>
1023
    void assign_unexpected_over_value(Other&& other) noexcept(
1024
        std::is_nothrow_constructible_v<
1025
            E,
1026
            decltype(std::forward<Other>(other).get_unexpected())>)
1027
    {
1028
        this->destroy_value();
1029
        this->construct_unexpected(std::forward<Other>(other).get_unexpected());
1030
    }
1031
};
1032
1033
/*
1034
 * Base class trickery to conditionally mark copy and move
1035
 * constructors of an expected as =deleted.
1036
 *
1037
 * We need to do this, because otherwise utilities like
1038
 * std::is_copy_constructible wouldn't work for expected: the
1039
 * constructors need to be explicitly =deleted, not just cause a
1040
 * compiler error when trying to copy a value of a non-copyable
1041
 * type.
1042
 *
1043
 * Rationale for doing this with base classes is above.
1044
 */
1045
template <typename T,
1046
          typename E,
1047
          bool EnableCopy = (std::is_copy_constructible_v<T> &&
1048
                             std::is_copy_constructible_v<E>),
1049
          bool EnableMove = (std::is_move_constructible_v<T> &&
1050
                             std::is_move_constructible_v<E>)>
1051
struct expected_delete_ctor_base;
1052
1053
// Implementation for types that are both copy and move
1054
// constructible: Copy and move constructors are =defaulted
1055
template <typename T, typename E>
1056
struct SCN_TRIVIAL_ABI expected_delete_ctor_base<T, E, true, true> {
1057
    expected_delete_ctor_base() = default;
1058
    expected_delete_ctor_base& operator=(const expected_delete_ctor_base&) =
1059
        default;
1060
    expected_delete_ctor_base& operator=(expected_delete_ctor_base&&) = default;
1061
    ~expected_delete_ctor_base() = default;
1062
1063
    expected_delete_ctor_base(const expected_delete_ctor_base&) = default;
1064
    expected_delete_ctor_base(expected_delete_ctor_base&&) = default;
1065
};
1066
1067
// Implementation for types that are neither copy nor move
1068
// constructible: Copy and move constructors are =deleted
1069
template <typename T, typename E>
1070
struct SCN_TRIVIAL_ABI expected_delete_ctor_base<T, E, false, false> {
1071
    expected_delete_ctor_base() = default;
1072
    expected_delete_ctor_base& operator=(const expected_delete_ctor_base&) =
1073
        default;
1074
    expected_delete_ctor_base& operator=(expected_delete_ctor_base&&) = default;
1075
    ~expected_delete_ctor_base() = default;
1076
1077
    expected_delete_ctor_base(const expected_delete_ctor_base&) = delete;
1078
    expected_delete_ctor_base(expected_delete_ctor_base&&) = delete;
1079
};
1080
1081
// Implementation for types that are move constructible, but not
1082
// copy constructible Copy constructor is =deleted, but move
1083
// constructor is =defaulted
1084
template <typename T, typename E>
1085
struct SCN_TRIVIAL_ABI expected_delete_ctor_base<T, E, false, true> {
1086
    expected_delete_ctor_base() = default;
1087
    expected_delete_ctor_base& operator=(const expected_delete_ctor_base&) =
1088
        default;
1089
    expected_delete_ctor_base& operator=(expected_delete_ctor_base&&) = default;
1090
    ~expected_delete_ctor_base() = default;
1091
1092
    expected_delete_ctor_base(const expected_delete_ctor_base&) = delete;
1093
    expected_delete_ctor_base(expected_delete_ctor_base&&) = default;
1094
};
1095
1096
template <typename T, typename E>
1097
struct SCN_TRIVIAL_ABI expected_delete_ctor_base<T, E, true, false> {
1098
    static_assert(dependent_false<T>::value,
1099
                  "Nonsensical type: copy constructible, but not move "
1100
                  "constructible");
1101
};
1102
1103
// Same as above, but for assignment
1104
template <
1105
    typename T,
1106
    typename E,
1107
    bool EnableCopy =
1108
        (std::is_copy_constructible_v<T> && std::is_copy_constructible_v<E> &&
1109
         std::is_copy_assignable_v<T> && std::is_copy_assignable_v<E>),
1110
    bool EnableMove =
1111
        (std::is_move_constructible_v<T> && std::is_move_constructible_v<E> &&
1112
         std::is_move_assignable_v<T> && std::is_move_assignable_v<E>)>
1113
struct expected_delete_assign_base;
1114
1115
template <typename T, typename E>
1116
struct SCN_TRIVIAL_ABI expected_delete_assign_base<T, E, true, true> {
1117
    expected_delete_assign_base() = default;
1118
    expected_delete_assign_base(const expected_delete_assign_base&) = default;
1119
    expected_delete_assign_base(expected_delete_assign_base&&) = default;
1120
    ~expected_delete_assign_base() = default;
1121
1122
    expected_delete_assign_base& operator=(const expected_delete_assign_base&) =
1123
        default;
1124
    expected_delete_assign_base& operator=(expected_delete_assign_base&&) =
1125
        default;
1126
};
1127
1128
template <typename T, typename E>
1129
struct SCN_TRIVIAL_ABI expected_delete_assign_base<T, E, false, false> {
1130
    expected_delete_assign_base() = default;
1131
    expected_delete_assign_base(const expected_delete_assign_base&) = default;
1132
    expected_delete_assign_base(expected_delete_assign_base&&) = default;
1133
    ~expected_delete_assign_base() = default;
1134
1135
    expected_delete_assign_base& operator=(const expected_delete_assign_base&) =
1136
        delete;
1137
    expected_delete_assign_base& operator=(expected_delete_assign_base&&) =
1138
        delete;
1139
};
1140
1141
template <typename T, typename E>
1142
struct SCN_TRIVIAL_ABI expected_delete_assign_base<T, E, false, true> {
1143
    expected_delete_assign_base() = default;
1144
    expected_delete_assign_base(const expected_delete_assign_base&) = default;
1145
    expected_delete_assign_base(expected_delete_assign_base&&) = default;
1146
    ~expected_delete_assign_base() = default;
1147
1148
    expected_delete_assign_base& operator=(const expected_delete_assign_base&) =
1149
        delete;
1150
    expected_delete_assign_base& operator=(expected_delete_assign_base&&) =
1151
        default;
1152
};
1153
1154
template <typename T, typename E>
1155
struct SCN_TRIVIAL_ABI expected_delete_assign_base<T, E, true, false> {
1156
    static_assert(dependent_false<T>::value,
1157
                  "Nonsensical type: copy assignable, but not move "
1158
                  "assignable");
1159
};
1160
1161
struct non_default_ctor_tag_t {};
1162
1163
/*
1164
 * Same as above, but for the default constructor
1165
 *
1166
 * The constructor taking a non_default_ctor_tag_t is needed, to
1167
 * signal that we're not default constructing.
1168
 */
1169
template <typename T,
1170
          typename E,
1171
          bool = std::is_default_constructible_v<T> || std::is_void_v<T>>
1172
struct SCN_TRIVIAL_ABI expected_default_ctor_base {
1173
    constexpr expected_default_ctor_base() = default;
1174
    constexpr explicit expected_default_ctor_base(
1175
        non_default_ctor_tag_t) noexcept
1176
135M
    {
1177
135M
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
1.84M
    {
1177
1.84M
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
74.4k
    {
1177
74.4k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
65.3k
    {
1177
65.3k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
98.0k
    {
1177
98.0k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
82.0k
    {
1177
82.0k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long long>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
88.3k
    {
1177
88.3k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
71.6k
    {
1177
71.6k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
1.80M
    {
1177
1.80M
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
74.4k
    {
1177
74.4k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
65.4k
    {
1177
65.4k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
86.3k
    {
1177
86.3k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
70.8k
    {
1177
70.8k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
87.8k
    {
1177
87.8k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
71.6k
    {
1177
71.6k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
2.66M
    {
1177
2.66M
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
30.1k
    {
1177
30.1k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
30.0k
    {
1177
30.0k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
52.6k
    {
1177
52.6k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
52.5k
    {
1177
52.5k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
30.3k
    {
1177
30.3k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
30.2k
    {
1177
30.2k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
1.60M
    {
1177
1.60M
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
30.1k
    {
1177
30.1k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
30.0k
    {
1177
30.0k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
30.2k
    {
1177
30.2k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
30.1k
    {
1177
30.1k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
30.3k
    {
1177
30.3k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
30.2k
    {
1177
30.2k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
8.60M
    {
1177
8.60M
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
5.71M
    {
1177
5.71M
    }
scn::v3::detail::expected_default_ctor_base<char const*, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
9.28M
    {
1177
9.28M
    }
scn::v3::detail::expected_default_ctor_base<wchar_t const*, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
7.95M
    {
1177
7.95M
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::eof_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
9.15M
    {
1177
9.15M
    }
Unexecuted instantiation: scn::v3::detail::expected_default_ctor_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v3::detail::expected_default_ctor_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::eof_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v3::detail::expected_default_ctor_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v3::detail::expected_default_ctor_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, long>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v3::detail::expected_default_ctor_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
scn::v3::detail::expected_default_ctor_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, long>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
2.36M
    {
1177
2.36M
    }
Unexecuted instantiation: scn::v3::detail::expected_default_ctor_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v3::detail::expected_default_ctor_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v3::detail::expected_default_ctor_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v3::detail::expected_default_ctor_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v3::detail::expected_default_ctor_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
scn::v3::detail::expected_default_ctor_base<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::parse_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
14.7M
    {
1177
14.7M
    }
scn::v3::detail::expected_default_ctor_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
1.71M
    {
1177
1.71M
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, scn::v3::impl::eof_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
419k
    {
1177
419k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
419k
    {
1177
419k
    }
scn::v3::detail::expected_default_ctor_base<std::__1::tuple<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
61.3k
    {
1177
61.3k
    }
scn::v3::detail::expected_default_ctor_base<char const*, scn::v3::impl::eof_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
3.81M
    {
1177
3.81M
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::eof_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
8.28k
    {
1177
8.28k
    }
Unexecuted instantiation: scn::v3::detail::expected_default_ctor_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v3::impl::eof_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v3::detail::expected_default_ctor_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
scn::v3::detail::expected_default_ctor_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, long>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
4.08k
    {
1177
4.08k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
8.18k
    {
1177
8.18k
    }
scn::v3::detail::expected_default_ctor_base<std::__1::pair<char const*, long>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
2.20M
    {
1177
2.20M
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::parse_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
6.71k
    {
1177
6.71k
    }
scn::v3::detail::expected_default_ctor_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
1.10k
    {
1177
1.10k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v3::impl::eof_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
834
    {
1177
834
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
834
    {
1177
834
    }
scn::v3::detail::expected_default_ctor_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
20
    {
1177
20
    }
scn::v3::detail::expected_default_ctor_base<char const*, scn::v3::impl::parse_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
6.86M
    {
1177
6.86M
    }
scn::v3::detail::expected_default_ctor_base<std::__1::pair<char const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
1.48M
    {
1177
1.48M
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::impl::parse_integer_prefix_result<char const*>, scn::v3::impl::eof_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
423k
    {
1177
423k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::impl::parse_integer_prefix_result<char const*>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
423k
    {
1177
423k
    }
scn::v3::detail::expected_default_ctor_base<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
61.5k
    {
1177
61.5k
    }
scn::v3::detail::expected_default_ctor_base<long, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
13.8M
    {
1177
13.8M
    }
Unexecuted instantiation: scn::v3::detail::expected_default_ctor_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
scn::v3::detail::expected_default_ctor_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
1.17M
    {
1177
1.17M
    }
scn::v3::detail::expected_default_ctor_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
274
    {
1177
274
    }
scn::v3::detail::expected_default_ctor_base<std::__1::pair<char const*, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
1.02M
    {
1177
1.02M
    }
scn::v3::detail::expected_default_ctor_base<std::__1::regex_constants::syntax_option_type, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
18.6k
    {
1177
18.6k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::eof_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
4.57M
    {
1177
4.57M
    }
Unexecuted instantiation: scn::v3::detail::expected_default_ctor_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v3::detail::expected_default_ctor_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::eof_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v3::detail::expected_default_ctor_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v3::detail::expected_default_ctor_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, long>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v3::detail::expected_default_ctor_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
scn::v3::detail::expected_default_ctor_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
1.47M
    {
1177
1.47M
    }
Unexecuted instantiation: scn::v3::detail::expected_default_ctor_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v3::detail::expected_default_ctor_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v3::detail::expected_default_ctor_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v3::detail::expected_default_ctor_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v3::detail::expected_default_ctor_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
scn::v3::detail::expected_default_ctor_base<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::parse_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
6.27M
    {
1177
6.27M
    }
scn::v3::detail::expected_default_ctor_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
697k
    {
1177
697k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v3::impl::eof_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
128k
    {
1177
128k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
128k
    {
1177
128k
    }
scn::v3::detail::expected_default_ctor_base<std::__1::tuple<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
17.0k
    {
1177
17.0k
    }
scn::v3::detail::expected_default_ctor_base<wchar_t const*, scn::v3::impl::eof_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
4.89M
    {
1177
4.89M
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::eof_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
1.89k
    {
1177
1.89k
    }
Unexecuted instantiation: scn::v3::detail::expected_default_ctor_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v3::impl::eof_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v3::detail::expected_default_ctor_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
scn::v3::detail::expected_default_ctor_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, long>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
1.54k
    {
1177
1.54k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
3.17k
    {
1177
3.17k
    }
scn::v3::detail::expected_default_ctor_base<std::__1::pair<wchar_t const*, long>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
2.15M
    {
1177
2.15M
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::parse_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
3.02k
    {
1177
3.02k
    }
scn::v3::detail::expected_default_ctor_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
494
    {
1177
494
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v3::impl::eof_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
378
    {
1177
378
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
378
    {
1177
378
    }
scn::v3::detail::expected_default_ctor_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
40
    {
1177
40
    }
scn::v3::detail::expected_default_ctor_base<wchar_t const*, scn::v3::impl::parse_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
5.01M
    {
1177
5.01M
    }
scn::v3::detail::expected_default_ctor_base<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
693k
    {
1177
693k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, scn::v3::impl::eof_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
130k
    {
1177
130k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
130k
    {
1177
130k
    }
scn::v3::detail::expected_default_ctor_base<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
17.0k
    {
1177
17.0k
    }
Unexecuted instantiation: scn::v3::detail::expected_default_ctor_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
scn::v3::detail::expected_default_ctor_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
557k
    {
1177
557k
    }
scn::v3::detail::expected_default_ctor_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
116
    {
1177
116
    }
scn::v3::detail::expected_default_ctor_base<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
558k
    {
1177
558k
    }
Unexecuted instantiation: scn::v3::detail::expected_default_ctor_base<wchar_t, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
scn::v3::detail::expected_default_ctor_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v3::impl::eof_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
2.24k
    {
1177
2.24k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
1.98k
    {
1177
1.98k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v3::impl::eof_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
754
    {
1177
754
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
754
    {
1177
754
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, float>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
338k
    {
1177
338k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, double>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
359k
    {
1177
359k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long double>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
355k
    {
1177
355k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, float>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
385k
    {
1177
385k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, double>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
401k
    {
1177
401k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long double>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
407k
    {
1177
407k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, float>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
172k
    {
1177
172k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
215k
    {
1177
215k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long double>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
196k
    {
1177
196k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, float>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
172k
    {
1177
172k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, double>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
192k
    {
1177
192k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long double>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
195k
    {
1177
195k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, char>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
11.1k
    {
1177
11.1k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, bool>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
11.1k
    {
1177
11.1k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, void*>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
11.1k
    {
1177
11.1k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
134k
    {
1177
134k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
11.1k
    {
1177
11.1k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
134k
    {
1177
134k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
22.3k
    {
1177
22.3k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
22.3k
    {
1177
22.3k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
22.3k
    {
1177
22.3k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
22.3k
    {
1177
22.3k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
882k
    {
1177
882k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
882k
    {
1177
882k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
151k
    {
1177
151k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
860k
    {
1177
860k
    }
1178
};
1179
template <typename T, typename E>
1180
struct SCN_TRIVIAL_ABI expected_default_ctor_base<T, E, false> {
1181
    constexpr expected_default_ctor_base() = delete;
1182
    constexpr explicit expected_default_ctor_base(
1183
        non_default_ctor_tag_t) noexcept
1184
    {
1185
    }
1186
};
1187
1188
template <typename T>
1189
using remove_cvref_t = std::remove_cv_t<std::remove_reference_t<T>>;
1190
1191
template <typename T>
1192
struct is_expected_impl : std::false_type {};
1193
template <typename T, typename E>
1194
struct is_expected_impl<expected<T, E>> : std::true_type {};
1195
template <typename T>
1196
using is_expected = is_expected_impl<remove_cvref_t<T>>;
1197
1198
template <typename Exp>
1199
using is_exp_void = std::is_void<typename remove_cvref_t<Exp>::value_type>;
1200
1201
template <typename Exp>
1202
using expected_value_type = typename remove_cvref_t<Exp>::value_type;
1203
1204
template <
1205
    typename F,
1206
    typename... Args,
1207
    typename = std::void_t<decltype(SCN_DECLVAL(F&&)(SCN_DECLVAL(Args&&)...))>>
1208
constexpr decltype(auto) trivial_invoke(F&& f, Args&&... args) noexcept(
1209
    noexcept(std::forward<F>(f)(std::forward<Args>(args)...)))
1210
3.91M
{
1211
3.91M
    return std::forward<F>(f)(std::forward<Args>(args)...);
1212
3.91M
}
decltype(auto) scn::v3::detail::trivial_invoke<scn::v3::scan_error (&)(scn::v3::impl::eof_error), scn::v3::impl::eof_error, void>(scn::v3::scan_error (&)(scn::v3::impl::eof_error), scn::v3::impl::eof_error&&)
Line
Count
Source
1210
83.5k
{
1211
83.5k
    return std::forward<F>(f)(std::forward<Args>(args)...);
1212
83.5k
}
decltype(auto) scn::v3::detail::trivial_invoke<scn::v3::impl::parse_error (&)(scn::v3::impl::eof_error), scn::v3::impl::eof_error, void>(scn::v3::impl::parse_error (&)(scn::v3::impl::eof_error), scn::v3::impl::eof_error&&)
Line
Count
Source
1210
194k
{
1211
194k
    return std::forward<F>(f)(std::forward<Args>(args)...);
1212
194k
}
decltype(auto) scn::v3::detail::trivial_invoke<scn::v3::impl::map_parse_error_to_scan_error(scn::v3::scan_error::code, char const*)::{lambda(scn::v3::impl::parse_error)#1}, scn::v3::impl::parse_error, void>(scn::v3::impl::map_parse_error_to_scan_error(scn::v3::scan_error::code, char const*)::{lambda(scn::v3::impl::parse_error)#1}&&, scn::v3::impl::parse_error&&)
Line
Count
Source
1210
137k
{
1211
137k
    return std::forward<F>(f)(std::forward<Args>(args)...);
1212
137k
}
decltype(auto) scn::v3::detail::trivial_invoke<scn::v3::impl::map_parse_error_to_scan_error(scn::v3::scan_error::code, char const*)::{lambda(scn::v3::impl::parse_error)#1}, scn::v3::impl::parse_error&, void>(scn::v3::impl::map_parse_error_to_scan_error(scn::v3::scan_error::code, char const*)::{lambda(scn::v3::impl::parse_error)#1}&&, scn::v3::impl::parse_error&)
Line
Count
Source
1210
3.49M
{
1211
3.49M
    return std::forward<F>(f)(std::forward<Args>(args)...);
1212
3.49M
}
Unexecuted instantiation: decltype(auto) scn::v3::detail::trivial_invoke<scn::v3::scan_error (&)(scn::v3::impl::eof_error), scn::v3::impl::eof_error const&, void>(scn::v3::scan_error (&)(scn::v3::impl::eof_error), scn::v3::impl::eof_error const&)
Unexecuted instantiation: decltype(auto) scn::v3::detail::trivial_invoke<scn::v3::scan_error (&)(scn::v3::impl::eof_error), scn::v3::impl::eof_error&, void>(scn::v3::scan_error (&)(scn::v3::impl::eof_error), scn::v3::impl::eof_error&)
Unexecuted instantiation: decltype(auto) scn::v3::detail::trivial_invoke<scn::v3::impl::parse_error (&)(scn::v3::impl::eof_error), scn::v3::impl::eof_error const&, void>(scn::v3::impl::parse_error (&)(scn::v3::impl::eof_error), scn::v3::impl::eof_error const&)
Unexecuted instantiation: decltype(auto) scn::v3::detail::trivial_invoke<scn::v3::impl::parse_error (&)(scn::v3::impl::eof_error), scn::v3::impl::eof_error&, void>(scn::v3::impl::parse_error (&)(scn::v3::impl::eof_error), scn::v3::impl::eof_error&)
Unexecuted instantiation: decltype(auto) scn::v3::detail::trivial_invoke<scn::v3::impl::map_parse_error_to_scan_error(scn::v3::scan_error::code, char const*)::{lambda(scn::v3::impl::parse_error)#1}, scn::v3::impl::parse_error const&, void>(scn::v3::impl::map_parse_error_to_scan_error(scn::v3::scan_error::code, char const*)::{lambda(scn::v3::impl::parse_error)#1}&&, scn::v3::impl::parse_error const&)
1213
1214
// and_then
1215
1216
template <typename Exp,
1217
          typename F,
1218
          std::enable_if_t<!is_exp_void<Exp>::value>* = nullptr,
1219
          typename Ret = decltype(trivial_invoke(SCN_DECLVAL(F),
1220
                                                 *SCN_DECLVAL(Exp)))>
1221
constexpr auto and_then_impl(Exp&& exp, F&& f) noexcept(
1222
    noexcept(trivial_invoke(std::forward<F>(f), *std::forward<Exp>(exp))) &&
1223
    std::is_nothrow_constructible_v<Ret,
1224
                                    unexpect_t,
1225
                                    decltype(std::forward<Exp>(exp).error())>)
1226
{
1227
    static_assert(is_expected<Ret>::value, "F must return an expected");
1228
1229
    return SCN_LIKELY(exp.has_value())
1230
               ? trivial_invoke(std::forward<F>(f), *std::forward<Exp>(exp))
1231
               : Ret(unexpect, std::forward<Exp>(exp).error());
1232
}
1233
template <typename Exp,
1234
          typename F,
1235
          std::enable_if_t<is_exp_void<Exp>::value>* = nullptr,
1236
          typename Ret = decltype(trivial_invoke(SCN_DECLVAL(F)))>
1237
constexpr auto and_then_impl(Exp&& exp, F&& f) noexcept(
1238
    noexcept(trivial_invoke(std::forward<F>(f))) &&
1239
    std::is_nothrow_constructible_v<Ret,
1240
                                    unexpect_t,
1241
                                    decltype(std::forward<Exp>(exp).error())>)
1242
{
1243
    static_assert(is_expected<Ret>::value, "F must return an expected");
1244
1245
    return SCN_LIKELY(exp.has_value())
1246
               ? trivial_invoke(std::forward<F>(f))
1247
               : Ret(unexpect, std::forward<Exp>(exp).error());
1248
}
1249
1250
// or_else
1251
1252
template <typename Exp,
1253
          typename F,
1254
          typename Ret = decltype(trivial_invoke(SCN_DECLVAL(F),
1255
                                                 SCN_DECLVAL(Exp).error()))>
1256
constexpr auto or_else_impl(Exp&& exp, F&& f) noexcept(
1257
    noexcept(trivial_invoke(std::forward<F>(f),
1258
                            std::forward<Exp>(exp).error())) &&
1259
    std::is_nothrow_constructible_v<Ret, decltype(std::forward<Exp>(exp))>)
1260
{
1261
    static_assert(is_expected<Ret>::value, "F must return an expected");
1262
1263
    return SCN_LIKELY(exp.has_value())
1264
               ? Ret(std::forward<Exp>(exp))
1265
               : trivial_invoke(std::forward<F>(f),
1266
                                std::forward<Exp>(exp).error());
1267
}
1268
1269
// transform
1270
1271
template <typename Exp,
1272
          typename F,
1273
          std::enable_if_t<!is_exp_void<Exp>::value>* = nullptr,
1274
          typename Ret = decltype(trivial_invoke(SCN_DECLVAL(F),
1275
                                                 *SCN_DECLVAL(Exp)))>
1276
constexpr auto transform_impl(Exp&& exp, F&& f)
1277
{
1278
    using result = typename remove_cvref_t<Exp>::template rebind<Ret>;
1279
    if constexpr (std::is_void_v<Ret>) {
1280
        if (SCN_LIKELY(exp.has_value())) {
1281
            trivial_invoke(std::forward<F>(f), *std::forward<Exp>(exp));
1282
            return result();
1283
        }
1284
        return result(unexpect, std::forward<Exp>(exp).error());
1285
    }
1286
    else {
1287
        return SCN_LIKELY(exp.has_value())
1288
                   ? result(trivial_invoke(std::forward<F>(f),
1289
                                           *std::forward<Exp>(exp)))
1290
                   : result(unexpect, std::forward<Exp>(exp).error());
1291
    }
1292
}
1293
template <typename Exp,
1294
          typename F,
1295
          std::enable_if_t<is_exp_void<Exp>::value>* = nullptr,
1296
          typename Ret = decltype(trivial_invoke(SCN_DECLVAL(F)))>
1297
constexpr auto transform_impl(Exp&& exp, F&& f)
1298
{
1299
    using result = typename remove_cvref_t<Exp>::template rebind<Ret>;
1300
    if constexpr (std::is_void_v<Ret>) {
1301
        if (SCN_LIKELY(exp.has_value())) {
1302
            trivial_invoke(std::forward<F>(f));
1303
            return result();
1304
        }
1305
        return result(unexpect, std::forward<Exp>(exp).error());
1306
    }
1307
    else {
1308
        return SCN_LIKELY(exp.has_value())
1309
                   ? result(trivial_invoke(std::forward<F>(f)))
1310
                   : result(unexpect, std::forward<Exp>(exp).error());
1311
    }
1312
}
1313
1314
// transform_error
1315
1316
template <typename Exp,
1317
          typename F,
1318
          std::enable_if_t<!is_exp_void<Exp>::value>* = nullptr,
1319
          typename Ret = decltype(trivial_invoke(SCN_DECLVAL(F),
1320
                                                 SCN_DECLVAL(Exp).error()))>
1321
constexpr auto transform_error_impl(Exp&& exp, F&& f)
1322
22.3M
{
1323
    if constexpr (std::is_void_v<Ret>) {
1324
        using result = expected<expected_value_type<Exp>, monostate>;
1325
        if (SCN_LIKELY(exp.has_value())) {
1326
            return result(*std::forward<Exp>(exp));
1327
        }
1328
1329
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1330
        return result(unexpect, monostate{});
1331
    }
1332
22.3M
    else {
1333
22.3M
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1334
22.3M
        return SCN_LIKELY(exp.has_value())
1335
22.3M
                   ? result(*std::forward<Exp>(exp))
1336
22.3M
                   : result(unexpect,
1337
3.91M
                            trivial_invoke(std::forward<F>(f),
1338
3.91M
                                           std::forward<Exp>(exp).error()));
1339
22.3M
    }
1340
22.3M
}
_ZN3scn2v36detail20transform_error_implINS0_8expectedINS1_17basic_scan_bufferIcE16forward_iteratorENS0_4impl9eof_errorEEERFNS0_10scan_errorES8_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESA_EEDaOSF_OT0_
Line
Count
Source
1322
1.76M
{
1323
    if constexpr (std::is_void_v<Ret>) {
1324
        using result = expected<expected_value_type<Exp>, monostate>;
1325
        if (SCN_LIKELY(exp.has_value())) {
1326
            return result(*std::forward<Exp>(exp));
1327
        }
1328
1329
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1330
        return result(unexpect, monostate{});
1331
    }
1332
1.76M
    else {
1333
1.76M
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1334
1.76M
        return SCN_LIKELY(exp.has_value())
1335
1.76M
                   ? result(*std::forward<Exp>(exp))
1336
1.76M
                   : result(unexpect,
1337
33.2k
                            trivial_invoke(std::forward<F>(f),
1338
33.2k
                                           std::forward<Exp>(exp).error()));
1339
1.76M
    }
1340
1.76M
}
_ZN3scn2v36detail20transform_error_implINS0_8expectedINS1_17basic_scan_bufferIwE16forward_iteratorENS0_4impl9eof_errorEEERFNS0_10scan_errorES8_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESA_EEDaOSF_OT0_
Line
Count
Source
1322
1.53M
{
1323
    if constexpr (std::is_void_v<Ret>) {
1324
        using result = expected<expected_value_type<Exp>, monostate>;
1325
        if (SCN_LIKELY(exp.has_value())) {
1326
            return result(*std::forward<Exp>(exp));
1327
        }
1328
1329
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1330
        return result(unexpect, monostate{});
1331
    }
1332
1.53M
    else {
1333
1.53M
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1334
1.53M
        return SCN_LIKELY(exp.has_value())
1335
1.53M
                   ? result(*std::forward<Exp>(exp))
1336
1.53M
                   : result(unexpect,
1337
8.38k
                            trivial_invoke(std::forward<F>(f),
1338
8.38k
                                           std::forward<Exp>(exp).error()));
1339
1.53M
    }
1340
1.53M
}
_ZN3scn2v36detail20transform_error_implINS0_8expectedIPKcNS0_4impl9eof_errorEEERFNS0_10scan_errorES7_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ES9_EEDaOSE_OT0_
Line
Count
Source
1322
1.71M
{
1323
    if constexpr (std::is_void_v<Ret>) {
1324
        using result = expected<expected_value_type<Exp>, monostate>;
1325
        if (SCN_LIKELY(exp.has_value())) {
1326
            return result(*std::forward<Exp>(exp));
1327
        }
1328
1329
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1330
        return result(unexpect, monostate{});
1331
    }
1332
1.71M
    else {
1333
1.71M
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1334
1.71M
        return SCN_LIKELY(exp.has_value())
1335
1.71M
                   ? result(*std::forward<Exp>(exp))
1336
1.71M
                   : result(unexpect,
1337
30.5k
                            trivial_invoke(std::forward<F>(f),
1338
30.5k
                                           std::forward<Exp>(exp).error()));
1339
1.71M
    }
1340
1.71M
}
Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implINS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS6_INS1_17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEE8sentinelILb1EEEEENS4_9eof_errorEEERFNS0_10scan_errorESM_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESO_EEDaOST_OT0_
Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implINS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9eof_errorEEERFNS0_10scan_errorESD_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESF_EEDaOSK_OT0_
Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implINS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9eof_errorEEERFNS4_11parse_errorESD_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESF_EEDaOSK_OT0_
Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implINS0_8expectedINS0_4impl27parse_integer_prefix_resultINS4_27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS4_9eof_errorEEERFNS0_10scan_errorESF_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESH_EEDaOSM_OT0_
Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implINS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_11parse_errorEEEZNS4_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlSD_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESF_EEDaOSM_OT0_
_ZN3scn2v36detail20transform_error_implINS0_8expectedINS1_17basic_scan_bufferIcE16forward_iteratorENS0_4impl9eof_errorEEERFNS7_11parse_errorES8_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESA_EEDaOSF_OT0_
Line
Count
Source
1322
3.48M
{
1323
    if constexpr (std::is_void_v<Ret>) {
1324
        using result = expected<expected_value_type<Exp>, monostate>;
1325
        if (SCN_LIKELY(exp.has_value())) {
1326
            return result(*std::forward<Exp>(exp));
1327
        }
1328
1329
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1330
        return result(unexpect, monostate{});
1331
    }
1332
3.48M
    else {
1333
3.48M
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1334
3.48M
        return SCN_LIKELY(exp.has_value())
1335
3.48M
                   ? result(*std::forward<Exp>(exp))
1336
3.48M
                   : result(unexpect,
1337
47.1k
                            trivial_invoke(std::forward<F>(f),
1338
47.1k
                                           std::forward<Exp>(exp).error()));
1339
3.48M
    }
1340
3.48M
}
_ZN3scn2v36detail20transform_error_implINS0_8expectedINS0_4impl27parse_integer_prefix_resultINS1_17basic_scan_bufferIcE16forward_iteratorEEENS4_9eof_errorEEERFNS0_10scan_errorESA_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESC_EEDaOSH_OT0_
Line
Count
Source
1322
419k
{
1323
    if constexpr (std::is_void_v<Ret>) {
1324
        using result = expected<expected_value_type<Exp>, monostate>;
1325
        if (SCN_LIKELY(exp.has_value())) {
1326
            return result(*std::forward<Exp>(exp));
1327
        }
1328
1329
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1330
        return result(unexpect, monostate{});
1331
    }
1332
419k
    else {
1333
419k
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1334
419k
        return SCN_LIKELY(exp.has_value())
1335
419k
                   ? result(*std::forward<Exp>(exp))
1336
419k
                   : result(unexpect,
1337
0
                            trivial_invoke(std::forward<F>(f),
1338
0
                                           std::forward<Exp>(exp).error()));
1339
419k
    }
1340
419k
}
_ZN3scn2v36detail20transform_error_implINS0_8expectedINS1_17basic_scan_bufferIcE16forward_iteratorENS0_4impl11parse_errorEEEZNS7_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlS8_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESA_EEDaOSH_OT0_
Line
Count
Source
1322
315k
{
1323
    if constexpr (std::is_void_v<Ret>) {
1324
        using result = expected<expected_value_type<Exp>, monostate>;
1325
        if (SCN_LIKELY(exp.has_value())) {
1326
            return result(*std::forward<Exp>(exp));
1327
        }
1328
1329
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1330
        return result(unexpect, monostate{});
1331
    }
1332
315k
    else {
1333
315k
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1334
315k
        return SCN_LIKELY(exp.has_value())
1335
315k
                   ? result(*std::forward<Exp>(exp))
1336
315k
                   : result(unexpect,
1337
29.1k
                            trivial_invoke(std::forward<F>(f),
1338
29.1k
                                           std::forward<Exp>(exp).error()));
1339
315k
    }
1340
315k
}
Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implINS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS6_IPKcS8_EENS4_15take_width_viewINSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEE8sentinelILb1EEEEENS4_9eof_errorEEERFNS0_10scan_errorESK_ETnPNSB_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESM_EEDaOSQ_OT0_
_ZN3scn2v36detail20transform_error_implINS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS4_9eof_errorEEERFNS0_10scan_errorESA_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESC_EEDaOSH_OT0_
Line
Count
Source
1322
746
{
1323
    if constexpr (std::is_void_v<Ret>) {
1324
        using result = expected<expected_value_type<Exp>, monostate>;
1325
        if (SCN_LIKELY(exp.has_value())) {
1326
            return result(*std::forward<Exp>(exp));
1327
        }
1328
1329
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1330
        return result(unexpect, monostate{});
1331
    }
1332
746
    else {
1333
746
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1334
746
        return SCN_LIKELY(exp.has_value())
1335
746
                   ? result(*std::forward<Exp>(exp))
1336
746
                   : result(unexpect,
1337
0
                            trivial_invoke(std::forward<F>(f),
1338
0
                                           std::forward<Exp>(exp).error()));
1339
746
    }
1340
746
}
_ZN3scn2v36detail20transform_error_implINS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS4_9eof_errorEEERFNS4_11parse_errorESA_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESC_EEDaOSH_OT0_
Line
Count
Source
1322
1.81k
{
1323
    if constexpr (std::is_void_v<Ret>) {
1324
        using result = expected<expected_value_type<Exp>, monostate>;
1325
        if (SCN_LIKELY(exp.has_value())) {
1326
            return result(*std::forward<Exp>(exp));
1327
        }
1328
1329
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1330
        return result(unexpect, monostate{});
1331
    }
1332
1.81k
    else {
1333
1.81k
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1334
1.81k
        return SCN_LIKELY(exp.has_value())
1335
1.81k
                   ? result(*std::forward<Exp>(exp))
1336
1.81k
                   : result(unexpect,
1337
316
                            trivial_invoke(std::forward<F>(f),
1338
316
                                           std::forward<Exp>(exp).error()));
1339
1.81k
    }
1340
1.81k
}
_ZN3scn2v36detail20transform_error_implINS0_8expectedINS0_4impl27parse_integer_prefix_resultINS4_27counted_width_iterator_impl22counted_width_iteratorIPKcS9_EEEENS4_9eof_errorEEERFNS0_10scan_errorESC_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESE_EEDaOSJ_OT0_
Line
Count
Source
1322
834
{
1323
    if constexpr (std::is_void_v<Ret>) {
1324
        using result = expected<expected_value_type<Exp>, monostate>;
1325
        if (SCN_LIKELY(exp.has_value())) {
1326
            return result(*std::forward<Exp>(exp));
1327
        }
1328
1329
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1330
        return result(unexpect, monostate{});
1331
    }
1332
834
    else {
1333
834
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1334
834
        return SCN_LIKELY(exp.has_value())
1335
834
                   ? result(*std::forward<Exp>(exp))
1336
834
                   : result(unexpect,
1337
0
                            trivial_invoke(std::forward<F>(f),
1338
0
                                           std::forward<Exp>(exp).error()));
1339
834
    }
1340
834
}
_ZN3scn2v36detail20transform_error_implINS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS4_11parse_errorEEEZNS4_29map_parse_error_to_scan_errorENS0_10scan_error4codeES8_EUlSA_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESC_EEDaOSH_OT0_
Line
Count
Source
1322
814
{
1323
    if constexpr (std::is_void_v<Ret>) {
1324
        using result = expected<expected_value_type<Exp>, monostate>;
1325
        if (SCN_LIKELY(exp.has_value())) {
1326
            return result(*std::forward<Exp>(exp));
1327
        }
1328
1329
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1330
        return result(unexpect, monostate{});
1331
    }
1332
814
    else {
1333
814
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1334
814
        return SCN_LIKELY(exp.has_value())
1335
814
                   ? result(*std::forward<Exp>(exp))
1336
814
                   : result(unexpect,
1337
814
                            trivial_invoke(std::forward<F>(f),
1338
814
                                           std::forward<Exp>(exp).error()));
1339
814
    }
1340
814
}
_ZN3scn2v36detail20transform_error_implINS0_8expectedINS0_4impl27parse_integer_prefix_resultIPKcEENS4_9eof_errorEEERFNS0_10scan_errorES9_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESB_EEDaOSG_OT0_
Line
Count
Source
1322
423k
{
1323
    if constexpr (std::is_void_v<Ret>) {
1324
        using result = expected<expected_value_type<Exp>, monostate>;
1325
        if (SCN_LIKELY(exp.has_value())) {
1326
            return result(*std::forward<Exp>(exp));
1327
        }
1328
1329
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1330
        return result(unexpect, monostate{});
1331
    }
1332
423k
    else {
1333
423k
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1334
423k
        return SCN_LIKELY(exp.has_value())
1335
423k
                   ? result(*std::forward<Exp>(exp))
1336
423k
                   : result(unexpect,
1337
0
                            trivial_invoke(std::forward<F>(f),
1338
0
                                           std::forward<Exp>(exp).error()));
1339
423k
    }
1340
423k
}
Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implINS0_8expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS6_9sign_typeEEENS6_9eof_errorEEERFNS0_10scan_errorESH_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESJ_EEDaOSN_OT0_
Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implIRNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_11parse_errorEEEZNS4_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlSD_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESG_EEDaOSN_OT0_
_ZN3scn2v36detail20transform_error_implINS0_8expectedINSt3__14pairINS1_17basic_scan_bufferIcE16forward_iteratorENS0_4impl9sign_typeEEENS9_9eof_errorEEERFNS0_10scan_errorESC_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESE_EEDaOSI_OT0_
Line
Count
Source
1322
1.17M
{
1323
    if constexpr (std::is_void_v<Ret>) {
1324
        using result = expected<expected_value_type<Exp>, monostate>;
1325
        if (SCN_LIKELY(exp.has_value())) {
1326
            return result(*std::forward<Exp>(exp));
1327
        }
1328
1329
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1330
        return result(unexpect, monostate{});
1331
    }
1332
1.17M
    else {
1333
1.17M
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1334
1.17M
        return SCN_LIKELY(exp.has_value())
1335
1.17M
                   ? result(*std::forward<Exp>(exp))
1336
1.17M
                   : result(unexpect,
1337
0
                            trivial_invoke(std::forward<F>(f),
1338
0
                                           std::forward<Exp>(exp).error()));
1339
1.17M
    }
1340
1.17M
}
_ZN3scn2v36detail20transform_error_implIRNS0_8expectedINS1_17basic_scan_bufferIcE16forward_iteratorENS0_4impl11parse_errorEEEZNS7_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlS8_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESB_EEDaOSI_OT0_
Line
Count
Source
1322
1.15M
{
1323
    if constexpr (std::is_void_v<Ret>) {
1324
        using result = expected<expected_value_type<Exp>, monostate>;
1325
        if (SCN_LIKELY(exp.has_value())) {
1326
            return result(*std::forward<Exp>(exp));
1327
        }
1328
1329
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1330
        return result(unexpect, monostate{});
1331
    }
1332
1.15M
    else {
1333
1.15M
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1334
1.15M
        return SCN_LIKELY(exp.has_value())
1335
1.15M
                   ? result(*std::forward<Exp>(exp))
1336
1.15M
                   : result(unexpect,
1337
1.15M
                            trivial_invoke(std::forward<F>(f),
1338
1.15M
                                           std::forward<Exp>(exp).error()));
1339
1.15M
    }
1340
1.15M
}
_ZN3scn2v36detail20transform_error_implINS0_8expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS6_9sign_typeEEENS6_9eof_errorEEERFNS0_10scan_errorESE_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESG_EEDaOSK_OT0_
Line
Count
Source
1322
274
{
1323
    if constexpr (std::is_void_v<Ret>) {
1324
        using result = expected<expected_value_type<Exp>, monostate>;
1325
        if (SCN_LIKELY(exp.has_value())) {
1326
            return result(*std::forward<Exp>(exp));
1327
        }
1328
1329
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1330
        return result(unexpect, monostate{});
1331
    }
1332
274
    else {
1333
274
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1334
274
        return SCN_LIKELY(exp.has_value())
1335
274
                   ? result(*std::forward<Exp>(exp))
1336
274
                   : result(unexpect,
1337
0
                            trivial_invoke(std::forward<F>(f),
1338
0
                                           std::forward<Exp>(exp).error()));
1339
274
    }
1340
274
}
_ZN3scn2v36detail20transform_error_implIRNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS4_11parse_errorEEEZNS4_29map_parse_error_to_scan_errorENS0_10scan_error4codeES8_EUlSA_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESD_EEDaOSI_OT0_
Line
Count
Source
1322
548
{
1323
    if constexpr (std::is_void_v<Ret>) {
1324
        using result = expected<expected_value_type<Exp>, monostate>;
1325
        if (SCN_LIKELY(exp.has_value())) {
1326
            return result(*std::forward<Exp>(exp));
1327
        }
1328
1329
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1330
        return result(unexpect, monostate{});
1331
    }
1332
548
    else {
1333
548
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1334
548
        return SCN_LIKELY(exp.has_value())
1335
548
                   ? result(*std::forward<Exp>(exp))
1336
548
                   : result(unexpect,
1337
548
                            trivial_invoke(std::forward<F>(f),
1338
548
                                           std::forward<Exp>(exp).error()));
1339
548
    }
1340
548
}
_ZN3scn2v36detail20transform_error_implINS0_8expectedINSt3__14pairIPKcNS0_4impl9sign_typeEEENS8_9eof_errorEEERFNS0_10scan_errorESB_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESD_EEDaOSH_OT0_
Line
Count
Source
1322
1.02M
{
1323
    if constexpr (std::is_void_v<Ret>) {
1324
        using result = expected<expected_value_type<Exp>, monostate>;
1325
        if (SCN_LIKELY(exp.has_value())) {
1326
            return result(*std::forward<Exp>(exp));
1327
        }
1328
1329
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1330
        return result(unexpect, monostate{});
1331
    }
1332
1.02M
    else {
1333
1.02M
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1334
1.02M
        return SCN_LIKELY(exp.has_value())
1335
1.02M
                   ? result(*std::forward<Exp>(exp))
1336
1.02M
                   : result(unexpect,
1337
0
                            trivial_invoke(std::forward<F>(f),
1338
0
                                           std::forward<Exp>(exp).error()));
1339
1.02M
    }
1340
1.02M
}
_ZN3scn2v36detail20transform_error_implIRNS0_8expectedIPKcNS0_4impl11parse_errorEEEZNS6_29map_parse_error_to_scan_errorENS0_10scan_error4codeES5_EUlS7_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESA_EEDaOSF_OT0_
Line
Count
Source
1322
982k
{
1323
    if constexpr (std::is_void_v<Ret>) {
1324
        using result = expected<expected_value_type<Exp>, monostate>;
1325
        if (SCN_LIKELY(exp.has_value())) {
1326
            return result(*std::forward<Exp>(exp));
1327
        }
1328
1329
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1330
        return result(unexpect, monostate{});
1331
    }
1332
982k
    else {
1333
982k
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1334
982k
        return SCN_LIKELY(exp.has_value())
1335
982k
                   ? result(*std::forward<Exp>(exp))
1336
982k
                   : result(unexpect,
1337
982k
                            trivial_invoke(std::forward<F>(f),
1338
982k
                                           std::forward<Exp>(exp).error()));
1339
982k
    }
1340
982k
}
Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implINS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS6_INS1_17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEE8sentinelILb1EEEEENS4_9eof_errorEEERFNS0_10scan_errorESM_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESO_EEDaOST_OT0_
Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implINS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9eof_errorEEERFNS0_10scan_errorESD_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESF_EEDaOSK_OT0_
Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implINS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9eof_errorEEERFNS4_11parse_errorESD_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESF_EEDaOSK_OT0_
Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implINS0_8expectedINS0_4impl27parse_integer_prefix_resultINS4_27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS4_9eof_errorEEERFNS0_10scan_errorESF_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESH_EEDaOSM_OT0_
Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implINS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_11parse_errorEEEZNS4_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlSD_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESF_EEDaOSM_OT0_
_ZN3scn2v36detail20transform_error_implINS0_8expectedINS1_17basic_scan_bufferIwE16forward_iteratorENS0_4impl9eof_errorEEERFNS7_11parse_errorES8_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESA_EEDaOSF_OT0_
Line
Count
Source
1322
1.57M
{
1323
    if constexpr (std::is_void_v<Ret>) {
1324
        using result = expected<expected_value_type<Exp>, monostate>;
1325
        if (SCN_LIKELY(exp.has_value())) {
1326
            return result(*std::forward<Exp>(exp));
1327
        }
1328
1329
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1330
        return result(unexpect, monostate{});
1331
    }
1332
1.57M
    else {
1333
1.57M
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1334
1.57M
        return SCN_LIKELY(exp.has_value())
1335
1.57M
                   ? result(*std::forward<Exp>(exp))
1336
1.57M
                   : result(unexpect,
1337
73.4k
                            trivial_invoke(std::forward<F>(f),
1338
73.4k
                                           std::forward<Exp>(exp).error()));
1339
1.57M
    }
1340
1.57M
}
_ZN3scn2v36detail20transform_error_implINS0_8expectedINS0_4impl27parse_integer_prefix_resultINS1_17basic_scan_bufferIwE16forward_iteratorEEENS4_9eof_errorEEERFNS0_10scan_errorESA_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESC_EEDaOSH_OT0_
Line
Count
Source
1322
128k
{
1323
    if constexpr (std::is_void_v<Ret>) {
1324
        using result = expected<expected_value_type<Exp>, monostate>;
1325
        if (SCN_LIKELY(exp.has_value())) {
1326
            return result(*std::forward<Exp>(exp));
1327
        }
1328
1329
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1330
        return result(unexpect, monostate{});
1331
    }
1332
128k
    else {
1333
128k
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1334
128k
        return SCN_LIKELY(exp.has_value())
1335
128k
                   ? result(*std::forward<Exp>(exp))
1336
128k
                   : result(unexpect,
1337
0
                            trivial_invoke(std::forward<F>(f),
1338
0
                                           std::forward<Exp>(exp).error()));
1339
128k
    }
1340
128k
}
_ZN3scn2v36detail20transform_error_implINS0_8expectedINS1_17basic_scan_bufferIwE16forward_iteratorENS0_4impl11parse_errorEEEZNS7_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlS8_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESA_EEDaOSH_OT0_
Line
Count
Source
1322
110k
{
1323
    if constexpr (std::is_void_v<Ret>) {
1324
        using result = expected<expected_value_type<Exp>, monostate>;
1325
        if (SCN_LIKELY(exp.has_value())) {
1326
            return result(*std::forward<Exp>(exp));
1327
        }
1328
1329
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1330
        return result(unexpect, monostate{});
1331
    }
1332
110k
    else {
1333
110k
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1334
110k
        return SCN_LIKELY(exp.has_value())
1335
110k
                   ? result(*std::forward<Exp>(exp))
1336
110k
                   : result(unexpect,
1337
107k
                            trivial_invoke(std::forward<F>(f),
1338
107k
                                           std::forward<Exp>(exp).error()));
1339
110k
    }
1340
110k
}
Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implINS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS6_IPKwS8_EENS4_15take_width_viewINSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEE8sentinelILb1EEEEENS4_9eof_errorEEERFNS0_10scan_errorESK_ETnPNSB_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESM_EEDaOSQ_OT0_
_ZN3scn2v36detail20transform_error_implINS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS4_9eof_errorEEERFNS0_10scan_errorESA_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESC_EEDaOSH_OT0_
Line
Count
Source
1322
294
{
1323
    if constexpr (std::is_void_v<Ret>) {
1324
        using result = expected<expected_value_type<Exp>, monostate>;
1325
        if (SCN_LIKELY(exp.has_value())) {
1326
            return result(*std::forward<Exp>(exp));
1327
        }
1328
1329
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1330
        return result(unexpect, monostate{});
1331
    }
1332
294
    else {
1333
294
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1334
294
        return SCN_LIKELY(exp.has_value())
1335
294
                   ? result(*std::forward<Exp>(exp))
1336
294
                   : result(unexpect,
1337
0
                            trivial_invoke(std::forward<F>(f),
1338
0
                                           std::forward<Exp>(exp).error()));
1339
294
    }
1340
294
}
_ZN3scn2v36detail20transform_error_implINS0_8expectedIPKwNS0_4impl9eof_errorEEERFNS0_10scan_errorES7_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ES9_EEDaOSE_OT0_
Line
Count
Source
1322
2.38M
{
1323
    if constexpr (std::is_void_v<Ret>) {
1324
        using result = expected<expected_value_type<Exp>, monostate>;
1325
        if (SCN_LIKELY(exp.has_value())) {
1326
            return result(*std::forward<Exp>(exp));
1327
        }
1328
1329
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1330
        return result(unexpect, monostate{});
1331
    }
1332
2.38M
    else {
1333
2.38M
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1334
2.38M
        return SCN_LIKELY(exp.has_value())
1335
2.38M
                   ? result(*std::forward<Exp>(exp))
1336
2.38M
                   : result(unexpect,
1337
11.1k
                            trivial_invoke(std::forward<F>(f),
1338
11.1k
                                           std::forward<Exp>(exp).error()));
1339
2.38M
    }
1340
2.38M
}
_ZN3scn2v36detail20transform_error_implINS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS4_9eof_errorEEERFNS4_11parse_errorESA_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESC_EEDaOSH_OT0_
Line
Count
Source
1322
808
{
1323
    if constexpr (std::is_void_v<Ret>) {
1324
        using result = expected<expected_value_type<Exp>, monostate>;
1325
        if (SCN_LIKELY(exp.has_value())) {
1326
            return result(*std::forward<Exp>(exp));
1327
        }
1328
1329
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1330
        return result(unexpect, monostate{});
1331
    }
1332
808
    else {
1333
808
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1334
808
        return SCN_LIKELY(exp.has_value())
1335
808
                   ? result(*std::forward<Exp>(exp))
1336
808
                   : result(unexpect,
1337
154
                            trivial_invoke(std::forward<F>(f),
1338
154
                                           std::forward<Exp>(exp).error()));
1339
808
    }
1340
808
}
_ZN3scn2v36detail20transform_error_implINS0_8expectedINS0_4impl27parse_integer_prefix_resultINS4_27counted_width_iterator_impl22counted_width_iteratorIPKwS9_EEEENS4_9eof_errorEEERFNS0_10scan_errorESC_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESE_EEDaOSJ_OT0_
Line
Count
Source
1322
378
{
1323
    if constexpr (std::is_void_v<Ret>) {
1324
        using result = expected<expected_value_type<Exp>, monostate>;
1325
        if (SCN_LIKELY(exp.has_value())) {
1326
            return result(*std::forward<Exp>(exp));
1327
        }
1328
1329
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1330
        return result(unexpect, monostate{});
1331
    }
1332
378
    else {
1333
378
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1334
378
        return SCN_LIKELY(exp.has_value())
1335
378
                   ? result(*std::forward<Exp>(exp))
1336
378
                   : result(unexpect,
1337
0
                            trivial_invoke(std::forward<F>(f),
1338
0
                                           std::forward<Exp>(exp).error()));
1339
378
    }
1340
378
}
_ZN3scn2v36detail20transform_error_implINS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS4_11parse_errorEEEZNS4_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlSA_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESC_EEDaOSJ_OT0_
Line
Count
Source
1322
338
{
1323
    if constexpr (std::is_void_v<Ret>) {
1324
        using result = expected<expected_value_type<Exp>, monostate>;
1325
        if (SCN_LIKELY(exp.has_value())) {
1326
            return result(*std::forward<Exp>(exp));
1327
        }
1328
1329
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1330
        return result(unexpect, monostate{});
1331
    }
1332
338
    else {
1333
338
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1334
338
        return SCN_LIKELY(exp.has_value())
1335
338
                   ? result(*std::forward<Exp>(exp))
1336
338
                   : result(unexpect,
1337
338
                            trivial_invoke(std::forward<F>(f),
1338
338
                                           std::forward<Exp>(exp).error()));
1339
338
    }
1340
338
}
_ZN3scn2v36detail20transform_error_implINS0_8expectedIPKwNS0_4impl9eof_errorEEERFNS6_11parse_errorES7_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ES9_EEDaOSE_OT0_
Line
Count
Source
1322
1.57M
{
1323
    if constexpr (std::is_void_v<Ret>) {
1324
        using result = expected<expected_value_type<Exp>, monostate>;
1325
        if (SCN_LIKELY(exp.has_value())) {
1326
            return result(*std::forward<Exp>(exp));
1327
        }
1328
1329
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1330
        return result(unexpect, monostate{});
1331
    }
1332
1.57M
    else {
1333
1.57M
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1334
1.57M
        return SCN_LIKELY(exp.has_value())
1335
1.57M
                   ? result(*std::forward<Exp>(exp))
1336
1.57M
                   : result(unexpect,
1337
73.6k
                            trivial_invoke(std::forward<F>(f),
1338
73.6k
                                           std::forward<Exp>(exp).error()));
1339
1.57M
    }
1340
1.57M
}
_ZN3scn2v36detail20transform_error_implINS0_8expectedINS0_4impl27parse_integer_prefix_resultIPKwEENS4_9eof_errorEEERFNS0_10scan_errorES9_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESB_EEDaOSG_OT0_
Line
Count
Source
1322
130k
{
1323
    if constexpr (std::is_void_v<Ret>) {
1324
        using result = expected<expected_value_type<Exp>, monostate>;
1325
        if (SCN_LIKELY(exp.has_value())) {
1326
            return result(*std::forward<Exp>(exp));
1327
        }
1328
1329
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1330
        return result(unexpect, monostate{});
1331
    }
1332
130k
    else {
1333
130k
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1334
130k
        return SCN_LIKELY(exp.has_value())
1335
130k
                   ? result(*std::forward<Exp>(exp))
1336
130k
                   : result(unexpect,
1337
0
                            trivial_invoke(std::forward<F>(f),
1338
0
                                           std::forward<Exp>(exp).error()));
1339
130k
    }
1340
130k
}
Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implINS0_8expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS6_9sign_typeEEENS6_9eof_errorEEERFNS0_10scan_errorESH_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESJ_EEDaOSN_OT0_
Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implIRNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_11parse_errorEEEZNS4_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlSD_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESG_EEDaOSN_OT0_
_ZN3scn2v36detail20transform_error_implINS0_8expectedINSt3__14pairINS1_17basic_scan_bufferIwE16forward_iteratorENS0_4impl9sign_typeEEENS9_9eof_errorEEERFNS0_10scan_errorESC_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESE_EEDaOSI_OT0_
Line
Count
Source
1322
557k
{
1323
    if constexpr (std::is_void_v<Ret>) {
1324
        using result = expected<expected_value_type<Exp>, monostate>;
1325
        if (SCN_LIKELY(exp.has_value())) {
1326
            return result(*std::forward<Exp>(exp));
1327
        }
1328
1329
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1330
        return result(unexpect, monostate{});
1331
    }
1332
557k
    else {
1333
557k
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1334
557k
        return SCN_LIKELY(exp.has_value())
1335
557k
                   ? result(*std::forward<Exp>(exp))
1336
557k
                   : result(unexpect,
1337
0
                            trivial_invoke(std::forward<F>(f),
1338
0
                                           std::forward<Exp>(exp).error()));
1339
557k
    }
1340
557k
}
_ZN3scn2v36detail20transform_error_implIRNS0_8expectedINS1_17basic_scan_bufferIwE16forward_iteratorENS0_4impl11parse_errorEEEZNS7_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlS8_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESB_EEDaOSI_OT0_
Line
Count
Source
1322
721k
{
1323
    if constexpr (std::is_void_v<Ret>) {
1324
        using result = expected<expected_value_type<Exp>, monostate>;
1325
        if (SCN_LIKELY(exp.has_value())) {
1326
            return result(*std::forward<Exp>(exp));
1327
        }
1328
1329
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1330
        return result(unexpect, monostate{});
1331
    }
1332
721k
    else {
1333
721k
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1334
721k
        return SCN_LIKELY(exp.has_value())
1335
721k
                   ? result(*std::forward<Exp>(exp))
1336
721k
                   : result(unexpect,
1337
721k
                            trivial_invoke(std::forward<F>(f),
1338
721k
                                           std::forward<Exp>(exp).error()));
1339
721k
    }
1340
721k
}
_ZN3scn2v36detail20transform_error_implINS0_8expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS6_9sign_typeEEENS6_9eof_errorEEERFNS0_10scan_errorESE_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESG_EEDaOSK_OT0_
Line
Count
Source
1322
116
{
1323
    if constexpr (std::is_void_v<Ret>) {
1324
        using result = expected<expected_value_type<Exp>, monostate>;
1325
        if (SCN_LIKELY(exp.has_value())) {
1326
            return result(*std::forward<Exp>(exp));
1327
        }
1328
1329
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1330
        return result(unexpect, monostate{});
1331
    }
1332
116
    else {
1333
116
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1334
116
        return SCN_LIKELY(exp.has_value())
1335
116
                   ? result(*std::forward<Exp>(exp))
1336
116
                   : result(unexpect,
1337
0
                            trivial_invoke(std::forward<F>(f),
1338
0
                                           std::forward<Exp>(exp).error()));
1339
116
    }
1340
116
}
_ZN3scn2v36detail20transform_error_implIRNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS4_11parse_errorEEEZNS4_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlSA_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESD_EEDaOSK_OT0_
Line
Count
Source
1322
232
{
1323
    if constexpr (std::is_void_v<Ret>) {
1324
        using result = expected<expected_value_type<Exp>, monostate>;
1325
        if (SCN_LIKELY(exp.has_value())) {
1326
            return result(*std::forward<Exp>(exp));
1327
        }
1328
1329
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1330
        return result(unexpect, monostate{});
1331
    }
1332
232
    else {
1333
232
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1334
232
        return SCN_LIKELY(exp.has_value())
1335
232
                   ? result(*std::forward<Exp>(exp))
1336
232
                   : result(unexpect,
1337
232
                            trivial_invoke(std::forward<F>(f),
1338
232
                                           std::forward<Exp>(exp).error()));
1339
232
    }
1340
232
}
_ZN3scn2v36detail20transform_error_implINS0_8expectedINSt3__14pairIPKwNS0_4impl9sign_typeEEENS8_9eof_errorEEERFNS0_10scan_errorESB_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESD_EEDaOSH_OT0_
Line
Count
Source
1322
558k
{
1323
    if constexpr (std::is_void_v<Ret>) {
1324
        using result = expected<expected_value_type<Exp>, monostate>;
1325
        if (SCN_LIKELY(exp.has_value())) {
1326
            return result(*std::forward<Exp>(exp));
1327
        }
1328
1329
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1330
        return result(unexpect, monostate{});
1331
    }
1332
558k
    else {
1333
558k
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1334
558k
        return SCN_LIKELY(exp.has_value())
1335
558k
                   ? result(*std::forward<Exp>(exp))
1336
558k
                   : result(unexpect,
1337
0
                            trivial_invoke(std::forward<F>(f),
1338
0
                                           std::forward<Exp>(exp).error()));
1339
558k
    }
1340
558k
}
_ZN3scn2v36detail20transform_error_implIRNS0_8expectedIPKwNS0_4impl11parse_errorEEEZNS6_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlS7_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESA_EEDaOSH_OT0_
Line
Count
Source
1322
633k
{
1323
    if constexpr (std::is_void_v<Ret>) {
1324
        using result = expected<expected_value_type<Exp>, monostate>;
1325
        if (SCN_LIKELY(exp.has_value())) {
1326
            return result(*std::forward<Exp>(exp));
1327
        }
1328
1329
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1330
        return result(unexpect, monostate{});
1331
    }
1332
633k
    else {
1333
633k
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1334
633k
        return SCN_LIKELY(exp.has_value())
1335
633k
                   ? result(*std::forward<Exp>(exp))
1336
633k
                   : result(unexpect,
1337
633k
                            trivial_invoke(std::forward<F>(f),
1338
633k
                                           std::forward<Exp>(exp).error()));
1339
633k
    }
1340
633k
}
_ZN3scn2v36detail20transform_error_implINS0_8expectedIPKcNS0_4impl9eof_errorEEERFNS6_11parse_errorES7_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ES9_EEDaOSE_OT0_
Line
Count
Source
1322
2.04k
{
1323
    if constexpr (std::is_void_v<Ret>) {
1324
        using result = expected<expected_value_type<Exp>, monostate>;
1325
        if (SCN_LIKELY(exp.has_value())) {
1326
            return result(*std::forward<Exp>(exp));
1327
        }
1328
1329
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1330
        return result(unexpect, monostate{});
1331
    }
1332
2.04k
    else {
1333
2.04k
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1334
2.04k
        return SCN_LIKELY(exp.has_value())
1335
2.04k
                   ? result(*std::forward<Exp>(exp))
1336
2.04k
                   : result(unexpect,
1337
106
                            trivial_invoke(std::forward<F>(f),
1338
106
                                           std::forward<Exp>(exp).error()));
1339
2.04k
    }
1340
2.04k
}
_ZN3scn2v36detail20transform_error_implINS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS6_IPKcS8_EENS4_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS8_S8_EEE8sentinelILb1EEEEENS4_9eof_errorEEERFNS0_10scan_errorESK_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESM_EEDaOSR_OT0_
Line
Count
Source
1322
1.98k
{
1323
    if constexpr (std::is_void_v<Ret>) {
1324
        using result = expected<expected_value_type<Exp>, monostate>;
1325
        if (SCN_LIKELY(exp.has_value())) {
1326
            return result(*std::forward<Exp>(exp));
1327
        }
1328
1329
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1330
        return result(unexpect, monostate{});
1331
    }
1332
1.98k
    else {
1333
1.98k
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1334
1.98k
        return SCN_LIKELY(exp.has_value())
1335
1.98k
                   ? result(*std::forward<Exp>(exp))
1336
1.98k
                   : result(unexpect,
1337
174
                            trivial_invoke(std::forward<F>(f),
1338
174
                                           std::forward<Exp>(exp).error()));
1339
1.98k
    }
1340
1.98k
}
_ZN3scn2v36detail20transform_error_implINS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS6_IPKwS8_EENS4_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS8_S8_EEE8sentinelILb1EEEEENS4_9eof_errorEEERFNS0_10scan_errorESK_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESM_EEDaOSR_OT0_
Line
Count
Source
1322
754
{
1323
    if constexpr (std::is_void_v<Ret>) {
1324
        using result = expected<expected_value_type<Exp>, monostate>;
1325
        if (SCN_LIKELY(exp.has_value())) {
1326
            return result(*std::forward<Exp>(exp));
1327
        }
1328
1329
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1330
        return result(unexpect, monostate{});
1331
    }
1332
754
    else {
1333
754
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1334
754
        return SCN_LIKELY(exp.has_value())
1335
754
                   ? result(*std::forward<Exp>(exp))
1336
754
                   : result(unexpect,
1337
0
                            trivial_invoke(std::forward<F>(f),
1338
0
                                           std::forward<Exp>(exp).error()));
1339
754
    }
1340
754
}
Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implIRKNS0_8expectedINS1_17basic_scan_bufferIcE16forward_iteratorENS0_4impl9eof_errorEEERFNS0_10scan_errorES8_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESC_EEDaOSH_OT0_
Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implIRNS0_8expectedINS1_17basic_scan_bufferIcE16forward_iteratorENS0_4impl9eof_errorEEERFNS0_10scan_errorES8_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESB_EEDaOSG_OT0_
Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implIRKNS0_8expectedINS1_17basic_scan_bufferIwE16forward_iteratorENS0_4impl9eof_errorEEERFNS0_10scan_errorES8_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESC_EEDaOSH_OT0_
Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implIRNS0_8expectedINS1_17basic_scan_bufferIwE16forward_iteratorENS0_4impl9eof_errorEEERFNS0_10scan_errorES8_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESB_EEDaOSG_OT0_
Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implIRKNS0_8expectedIPKcNS0_4impl9eof_errorEEERFNS0_10scan_errorES7_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESB_EEDaOSG_OT0_
Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implIRNS0_8expectedIPKcNS0_4impl9eof_errorEEERFNS0_10scan_errorES7_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESA_EEDaOSF_OT0_
Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implIRKNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS6_INS1_17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEE8sentinelILb1EEEEENS4_9eof_errorEEERFNS0_10scan_errorESM_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESQ_EEDaOSV_OT0_
Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implIRNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS6_INS1_17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEE8sentinelILb1EEEEENS4_9eof_errorEEERFNS0_10scan_errorESM_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESP_EEDaOSU_OT0_
Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implIRKNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9eof_errorEEERFNS0_10scan_errorESD_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESH_EEDaOSM_OT0_
Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implIRNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9eof_errorEEERFNS0_10scan_errorESD_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESG_EEDaOSL_OT0_
Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implIRKNS0_8expectedINS0_4impl27parse_integer_prefix_resultINS4_27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS4_9eof_errorEEERFNS0_10scan_errorESF_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESJ_EEDaOSO_OT0_
Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implIRNS0_8expectedINS0_4impl27parse_integer_prefix_resultINS4_27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS4_9eof_errorEEERFNS0_10scan_errorESF_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESI_EEDaOSN_OT0_
Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implIRKNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9eof_errorEEERFNS4_11parse_errorESD_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESH_EEDaOSM_OT0_
Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implIRNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9eof_errorEEERFNS4_11parse_errorESD_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESG_EEDaOSL_OT0_
Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implIRKNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_11parse_errorEEEZNS4_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlSD_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESH_EEDaOSO_OT0_
Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implIRKNS0_8expectedINS0_4impl27parse_integer_prefix_resultINS1_17basic_scan_bufferIcE16forward_iteratorEEENS4_9eof_errorEEERFNS0_10scan_errorESA_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESE_EEDaOSJ_OT0_
Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implIRNS0_8expectedINS0_4impl27parse_integer_prefix_resultINS1_17basic_scan_bufferIcE16forward_iteratorEEENS4_9eof_errorEEERFNS0_10scan_errorESA_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESD_EEDaOSI_OT0_
Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implIRKNS0_8expectedINS1_17basic_scan_bufferIcE16forward_iteratorENS0_4impl9eof_errorEEERFNS7_11parse_errorES8_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESC_EEDaOSH_OT0_
Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implIRNS0_8expectedINS1_17basic_scan_bufferIcE16forward_iteratorENS0_4impl9eof_errorEEERFNS7_11parse_errorES8_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESB_EEDaOSG_OT0_
Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implIRKNS0_8expectedINS1_17basic_scan_bufferIcE16forward_iteratorENS0_4impl11parse_errorEEEZNS7_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlS8_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESC_EEDaOSJ_OT0_
Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implIRKNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS6_IPKcS8_EENS4_15take_width_viewINSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEE8sentinelILb1EEEEENS4_9eof_errorEEERFNS0_10scan_errorESK_ETnPNSB_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESO_EEDaOSS_OT0_
Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implIRNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS6_IPKcS8_EENS4_15take_width_viewINSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEE8sentinelILb1EEEEENS4_9eof_errorEEERFNS0_10scan_errorESK_ETnPNSB_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESN_EEDaOSR_OT0_
Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implIRKNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS4_9eof_errorEEERFNS0_10scan_errorESA_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESE_EEDaOSJ_OT0_
Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implIRNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS4_9eof_errorEEERFNS0_10scan_errorESA_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESD_EEDaOSI_OT0_
Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implIRKNS0_8expectedINS0_4impl27parse_integer_prefix_resultINS4_27counted_width_iterator_impl22counted_width_iteratorIPKcS9_EEEENS4_9eof_errorEEERFNS0_10scan_errorESC_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESG_EEDaOSL_OT0_
Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implIRNS0_8expectedINS0_4impl27parse_integer_prefix_resultINS4_27counted_width_iterator_impl22counted_width_iteratorIPKcS9_EEEENS4_9eof_errorEEERFNS0_10scan_errorESC_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESF_EEDaOSK_OT0_
Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implIRKNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS4_9eof_errorEEERFNS4_11parse_errorESA_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESE_EEDaOSJ_OT0_
Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implIRNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS4_9eof_errorEEERFNS4_11parse_errorESA_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESD_EEDaOSI_OT0_
Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implIRKNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS4_11parse_errorEEEZNS4_29map_parse_error_to_scan_errorENS0_10scan_error4codeES8_EUlSA_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESE_EEDaOSJ_OT0_
Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implIRKNS0_8expectedINS0_4impl27parse_integer_prefix_resultIPKcEENS4_9eof_errorEEERFNS0_10scan_errorES9_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESD_EEDaOSI_OT0_
Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implIRNS0_8expectedINS0_4impl27parse_integer_prefix_resultIPKcEENS4_9eof_errorEEERFNS0_10scan_errorES9_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESC_EEDaOSH_OT0_
Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implIRKNS0_8expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS6_9sign_typeEEENS6_9eof_errorEEERFNS0_10scan_errorESH_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESL_EEDaOSP_OT0_
Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implIRNS0_8expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS6_9sign_typeEEENS6_9eof_errorEEERFNS0_10scan_errorESH_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESK_EEDaOSO_OT0_
Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implIRKNS0_8expectedINSt3__14pairINS1_17basic_scan_bufferIcE16forward_iteratorENS0_4impl9sign_typeEEENS9_9eof_errorEEERFNS0_10scan_errorESC_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESG_EEDaOSK_OT0_
Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implIRNS0_8expectedINSt3__14pairINS1_17basic_scan_bufferIcE16forward_iteratorENS0_4impl9sign_typeEEENS9_9eof_errorEEERFNS0_10scan_errorESC_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESF_EEDaOSJ_OT0_
Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implIRKNS0_8expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS6_9sign_typeEEENS6_9eof_errorEEERFNS0_10scan_errorESE_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESI_EEDaOSM_OT0_
Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implIRNS0_8expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS6_9sign_typeEEENS6_9eof_errorEEERFNS0_10scan_errorESE_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESH_EEDaOSL_OT0_
Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implIRKNS0_8expectedINSt3__14pairIPKcNS0_4impl9sign_typeEEENS8_9eof_errorEEERFNS0_10scan_errorESB_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESF_EEDaOSJ_OT0_
Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implIRNS0_8expectedINSt3__14pairIPKcNS0_4impl9sign_typeEEENS8_9eof_errorEEERFNS0_10scan_errorESB_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESE_EEDaOSI_OT0_
Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implIRKNS0_8expectedIPKcNS0_4impl11parse_errorEEEZNS6_29map_parse_error_to_scan_errorENS0_10scan_error4codeES5_EUlS7_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESB_EEDaOSG_OT0_
Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implIRKNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS6_INS1_17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEE8sentinelILb1EEEEENS4_9eof_errorEEERFNS0_10scan_errorESM_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESQ_EEDaOSV_OT0_
Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implIRNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS6_INS1_17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEE8sentinelILb1EEEEENS4_9eof_errorEEERFNS0_10scan_errorESM_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESP_EEDaOSU_OT0_
Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implIRKNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9eof_errorEEERFNS0_10scan_errorESD_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESH_EEDaOSM_OT0_
Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implIRNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9eof_errorEEERFNS0_10scan_errorESD_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESG_EEDaOSL_OT0_
Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implIRKNS0_8expectedINS0_4impl27parse_integer_prefix_resultINS4_27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS4_9eof_errorEEERFNS0_10scan_errorESF_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESJ_EEDaOSO_OT0_
Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implIRNS0_8expectedINS0_4impl27parse_integer_prefix_resultINS4_27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS4_9eof_errorEEERFNS0_10scan_errorESF_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESI_EEDaOSN_OT0_
Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implIRKNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9eof_errorEEERFNS4_11parse_errorESD_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESH_EEDaOSM_OT0_
Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implIRNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9eof_errorEEERFNS4_11parse_errorESD_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESG_EEDaOSL_OT0_
Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implIRKNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_11parse_errorEEEZNS4_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlSD_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESH_EEDaOSO_OT0_
Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implIRKNS0_8expectedINS0_4impl27parse_integer_prefix_resultINS1_17basic_scan_bufferIwE16forward_iteratorEEENS4_9eof_errorEEERFNS0_10scan_errorESA_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESE_EEDaOSJ_OT0_
Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implIRNS0_8expectedINS0_4impl27parse_integer_prefix_resultINS1_17basic_scan_bufferIwE16forward_iteratorEEENS4_9eof_errorEEERFNS0_10scan_errorESA_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESD_EEDaOSI_OT0_
Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implIRKNS0_8expectedINS1_17basic_scan_bufferIwE16forward_iteratorENS0_4impl9eof_errorEEERFNS7_11parse_errorES8_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESC_EEDaOSH_OT0_
Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implIRNS0_8expectedINS1_17basic_scan_bufferIwE16forward_iteratorENS0_4impl9eof_errorEEERFNS7_11parse_errorES8_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESB_EEDaOSG_OT0_
Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implIRKNS0_8expectedINS1_17basic_scan_bufferIwE16forward_iteratorENS0_4impl11parse_errorEEEZNS7_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlS8_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESC_EEDaOSJ_OT0_
Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implIRKNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS6_IPKwS8_EENS4_15take_width_viewINSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEE8sentinelILb1EEEEENS4_9eof_errorEEERFNS0_10scan_errorESK_ETnPNSB_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESO_EEDaOSS_OT0_
Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implIRNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS6_IPKwS8_EENS4_15take_width_viewINSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEE8sentinelILb1EEEEENS4_9eof_errorEEERFNS0_10scan_errorESK_ETnPNSB_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESN_EEDaOSR_OT0_
Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implIRKNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS4_9eof_errorEEERFNS0_10scan_errorESA_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESE_EEDaOSJ_OT0_
Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implIRNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS4_9eof_errorEEERFNS0_10scan_errorESA_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESD_EEDaOSI_OT0_
Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implIRKNS0_8expectedIPKwNS0_4impl9eof_errorEEERFNS0_10scan_errorES7_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESB_EEDaOSG_OT0_
Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implIRNS0_8expectedIPKwNS0_4impl9eof_errorEEERFNS0_10scan_errorES7_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESA_EEDaOSF_OT0_
Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implIRKNS0_8expectedINS0_4impl27parse_integer_prefix_resultINS4_27counted_width_iterator_impl22counted_width_iteratorIPKwS9_EEEENS4_9eof_errorEEERFNS0_10scan_errorESC_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESG_EEDaOSL_OT0_
Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implIRNS0_8expectedINS0_4impl27parse_integer_prefix_resultINS4_27counted_width_iterator_impl22counted_width_iteratorIPKwS9_EEEENS4_9eof_errorEEERFNS0_10scan_errorESC_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESF_EEDaOSK_OT0_
Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implIRKNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS4_9eof_errorEEERFNS4_11parse_errorESA_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESE_EEDaOSJ_OT0_
Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implIRNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS4_9eof_errorEEERFNS4_11parse_errorESA_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESD_EEDaOSI_OT0_
Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implIRKNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS4_11parse_errorEEEZNS4_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlSA_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESE_EEDaOSL_OT0_
Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implIRKNS0_8expectedINS0_4impl27parse_integer_prefix_resultIPKwEENS4_9eof_errorEEERFNS0_10scan_errorES9_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESD_EEDaOSI_OT0_
Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implIRNS0_8expectedINS0_4impl27parse_integer_prefix_resultIPKwEENS4_9eof_errorEEERFNS0_10scan_errorES9_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESC_EEDaOSH_OT0_
Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implIRKNS0_8expectedIPKwNS0_4impl9eof_errorEEERFNS6_11parse_errorES7_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESB_EEDaOSG_OT0_
Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implIRNS0_8expectedIPKwNS0_4impl9eof_errorEEERFNS6_11parse_errorES7_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESA_EEDaOSF_OT0_
Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implIRKNS0_8expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS6_9sign_typeEEENS6_9eof_errorEEERFNS0_10scan_errorESH_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESL_EEDaOSP_OT0_
Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implIRNS0_8expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS6_9sign_typeEEENS6_9eof_errorEEERFNS0_10scan_errorESH_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESK_EEDaOSO_OT0_
Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implIRKNS0_8expectedINSt3__14pairINS1_17basic_scan_bufferIwE16forward_iteratorENS0_4impl9sign_typeEEENS9_9eof_errorEEERFNS0_10scan_errorESC_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESG_EEDaOSK_OT0_
Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implIRNS0_8expectedINSt3__14pairINS1_17basic_scan_bufferIwE16forward_iteratorENS0_4impl9sign_typeEEENS9_9eof_errorEEERFNS0_10scan_errorESC_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESF_EEDaOSJ_OT0_
Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implIRKNS0_8expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS6_9sign_typeEEENS6_9eof_errorEEERFNS0_10scan_errorESE_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESI_EEDaOSM_OT0_
Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implIRNS0_8expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS6_9sign_typeEEENS6_9eof_errorEEERFNS0_10scan_errorESE_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESH_EEDaOSL_OT0_
Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implIRKNS0_8expectedINSt3__14pairIPKwNS0_4impl9sign_typeEEENS8_9eof_errorEEERFNS0_10scan_errorESB_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESF_EEDaOSJ_OT0_
Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implIRNS0_8expectedINSt3__14pairIPKwNS0_4impl9sign_typeEEENS8_9eof_errorEEERFNS0_10scan_errorESB_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESE_EEDaOSI_OT0_
Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implIRKNS0_8expectedIPKwNS0_4impl11parse_errorEEEZNS6_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlS7_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESB_EEDaOSI_OT0_
Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implIRKNS0_8expectedIPKcNS0_4impl9eof_errorEEERFNS6_11parse_errorES7_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESB_EEDaOSG_OT0_
Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implIRNS0_8expectedIPKcNS0_4impl9eof_errorEEERFNS6_11parse_errorES7_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESA_EEDaOSF_OT0_
Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implIRKNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS6_IPKcS8_EENS4_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS8_S8_EEE8sentinelILb1EEEEENS4_9eof_errorEEERFNS0_10scan_errorESK_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESO_EEDaOST_OT0_
Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implIRNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS6_IPKcS8_EENS4_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS8_S8_EEE8sentinelILb1EEEEENS4_9eof_errorEEERFNS0_10scan_errorESK_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESN_EEDaOSS_OT0_
Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implIRKNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS6_IPKwS8_EENS4_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS8_S8_EEE8sentinelILb1EEEEENS4_9eof_errorEEERFNS0_10scan_errorESK_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESO_EEDaOST_OT0_
Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implIRNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS6_IPKwS8_EENS4_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS8_S8_EEE8sentinelILb1EEEEENS4_9eof_errorEEERFNS0_10scan_errorESK_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESN_EEDaOSS_OT0_
1341
template <typename Exp,
1342
          typename F,
1343
          std::enable_if_t<is_exp_void<Exp>::value>* = nullptr,
1344
          typename Ret = decltype(trivial_invoke(SCN_DECLVAL(F),
1345
                                                 SCN_DECLVAL(Exp).error()))>
1346
constexpr auto transform_error_impl(Exp&& exp, F&& f)
1347
{
1348
    if constexpr (std::is_void_v<Ret>) {
1349
        using result = expected<expected_value_type<Exp>, monostate>;
1350
        if (SCN_LIKELY(exp.has_value())) {
1351
            return result();
1352
        }
1353
1354
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1355
        return result(unexpect, monostate{});
1356
    }
1357
    else {
1358
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1359
        return SCN_LIKELY(exp.has_value())
1360
                   ? result()
1361
                   : result(unexpect,
1362
                            trivial_invoke(std::forward<F>(f),
1363
                                           std::forward<Exp>(exp).error()));
1364
    }
1365
}
1366
1367
template <class T, class E, class U, class G, class UR, class GR>
1368
using enable_from_other =
1369
    std::enable_if_t<std::is_constructible_v<T, UR> &&
1370
                     std::is_constructible_v<E, GR> &&
1371
                     !std::is_constructible_v<T, expected<U, G>&> &&
1372
                     !std::is_constructible_v<T, expected<U, G>&&> &&
1373
                     !std::is_constructible_v<T, const expected<U, G>&> &&
1374
                     !std::is_constructible_v<T, const expected<U, G>&&> &&
1375
                     !std::is_convertible_v<expected<U, G>&, T> &&
1376
                     !std::is_convertible_v<expected<U, G>&&, T> &&
1377
                     !std::is_convertible_v<const expected<U, G>&, T> &&
1378
                     !std::is_convertible_v<const expected<U, G>&&, T>>;
1379
}  // namespace detail
1380
1381
template <typename T, typename E>
1382
class SCN_TRIVIAL_ABI expected
1383
    : private detail::expected_operations_base<T, E>,
1384
      private detail::expected_delete_ctor_base<T, E>,
1385
      private detail::expected_delete_assign_base<T, E>,
1386
      private detail::expected_default_ctor_base<T, E> {
1387
    using base = detail::expected_operations_base<T, E>;
1388
    using ctor_base = detail::expected_default_ctor_base<T, E>;
1389
1390
    static_assert(std::is_void_v<T> || std::is_destructible_v<T>,
1391
                  "T must be void or Destructible");
1392
    static_assert(std::is_destructible_v<E>, "E must be Destructible");
1393
1394
    static_assert(!std::is_same_v<std::remove_cv_t<T>, std::in_place_t>);
1395
    static_assert(!std::is_same_v<std::remove_cv_t<T>, unexpect_t>);
1396
    static_assert(!std::is_same_v<std::remove_cv_t<T>, unexpected<E>>);
1397
1398
public:
1399
    using value_type = T;
1400
    using error_type = E;
1401
    using unexpected_type = unexpected<E>;
1402
1403
    template <typename U>
1404
    using rebind = expected<U, error_type>;
1405
1406
    // Special member functions are defaulted, implementations provided
1407
    // by base classes
1408
1409
    constexpr expected() = default;
1410
1411
    constexpr expected(const expected&) = default;
1412
    constexpr expected(expected&&) = default;
1413
    constexpr expected& operator=(const expected&) = default;
1414
    constexpr expected& operator=(expected&&) = default;
1415
1416
    ~expected() = default;
1417
1418
    /**
1419
     * Construct an expected value.
1420
     * Intentionally non-explicit, to make constructing an expected
1421
     * value as transparent as possible.
1422
     */
1423
    template <typename U = value_type,
1424
              typename = std::enable_if_t<std::is_convertible_v<U, value_type>>>
1425
    SCN_IMPLICIT constexpr expected(U&& val) noexcept(
1426
        std::is_nothrow_constructible_v<base, std::in_place_t, U&&>)
1427
101M
        : base(std::in_place, std::forward<U>(val)),
1428
101M
          ctor_base(detail::non_default_ctor_tag_t{})
1429
101M
    {
1430
101M
    }
scn::v3::expected<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v3::scan_error>::expected<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, void>(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>&&)
Line
Count
Source
1427
1.54M
        : base(std::in_place, std::forward<U>(val)),
1428
1.54M
          ctor_base(detail::non_default_ctor_tag_t{})
1429
1.54M
    {
1430
1.54M
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>&&)
Line
Count
Source
1427
59.6k
        : base(std::in_place, std::forward<U>(val)),
1428
59.6k
          ctor_base(detail::non_default_ctor_tag_t{})
1429
59.6k
    {
1430
59.6k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>&&)
Line
Count
Source
1427
50.5k
        : base(std::in_place, std::forward<U>(val)),
1428
50.5k
          ctor_base(detail::non_default_ctor_tag_t{})
1429
50.5k
    {
1430
50.5k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, int>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, int>&&)
Line
Count
Source
1427
72.0k
        : base(std::in_place, std::forward<U>(val)),
1428
72.0k
          ctor_base(detail::non_default_ctor_tag_t{})
1429
72.0k
    {
1430
72.0k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>&&)
Line
Count
Source
1427
56.0k
        : base(std::in_place, std::forward<U>(val)),
1428
56.0k
          ctor_base(detail::non_default_ctor_tag_t{})
1429
56.0k
    {
1430
56.0k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long long>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long long>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long long>&&)
Line
Count
Source
1427
73.5k
        : base(std::in_place, std::forward<U>(val)),
1428
73.5k
          ctor_base(detail::non_default_ctor_tag_t{})
1429
73.5k
    {
1430
73.5k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>&&)
Line
Count
Source
1427
56.7k
        : base(std::in_place, std::forward<U>(val)),
1428
56.7k
          ctor_base(detail::non_default_ctor_tag_t{})
1429
56.7k
    {
1430
56.7k
    }
scn::v3::expected<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v3::scan_error>::expected<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, void>(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >&&)
Line
Count
Source
1427
1.61M
        : base(std::in_place, std::forward<U>(val)),
1428
1.61M
          ctor_base(detail::non_default_ctor_tag_t{})
1429
1.61M
    {
1430
1.61M
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>&&)
Line
Count
Source
1427
59.6k
        : base(std::in_place, std::forward<U>(val)),
1428
59.6k
          ctor_base(detail::non_default_ctor_tag_t{})
1429
59.6k
    {
1430
59.6k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>&&)
Line
Count
Source
1427
50.5k
        : base(std::in_place, std::forward<U>(val)),
1428
50.5k
          ctor_base(detail::non_default_ctor_tag_t{})
1429
50.5k
    {
1430
50.5k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>&&)
Line
Count
Source
1427
71.5k
        : base(std::in_place, std::forward<U>(val)),
1428
71.5k
          ctor_base(detail::non_default_ctor_tag_t{})
1429
71.5k
    {
1430
71.5k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>&&)
Line
Count
Source
1427
56.0k
        : base(std::in_place, std::forward<U>(val)),
1428
56.0k
          ctor_base(detail::non_default_ctor_tag_t{})
1429
56.0k
    {
1430
56.0k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>&&)
Line
Count
Source
1427
72.9k
        : base(std::in_place, std::forward<U>(val)),
1428
72.9k
          ctor_base(detail::non_default_ctor_tag_t{})
1429
72.9k
    {
1430
72.9k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>&&)
Line
Count
Source
1427
56.8k
        : base(std::in_place, std::forward<U>(val)),
1428
56.8k
          ctor_base(detail::non_default_ctor_tag_t{})
1429
56.8k
    {
1430
56.8k
    }
scn::v3::expected<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v3::scan_error>::expected<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void>(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&&)
Line
Count
Source
1427
2.05M
        : base(std::in_place, std::forward<U>(val)),
1428
2.05M
          ctor_base(detail::non_default_ctor_tag_t{})
1429
2.05M
    {
1430
2.05M
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>&&)
Line
Count
Source
1427
484
        : base(std::in_place, std::forward<U>(val)),
1428
484
          ctor_base(detail::non_default_ctor_tag_t{})
1429
484
    {
1430
484
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>&&)
Line
Count
Source
1427
411
        : base(std::in_place, std::forward<U>(val)),
1428
411
          ctor_base(detail::non_default_ctor_tag_t{})
1429
411
    {
1430
411
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>&&)
Line
Count
Source
1427
600
        : base(std::in_place, std::forward<U>(val)),
1428
600
          ctor_base(detail::non_default_ctor_tag_t{})
1429
600
    {
1430
600
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>&&)
Line
Count
Source
1427
475
        : base(std::in_place, std::forward<U>(val)),
1428
475
          ctor_base(detail::non_default_ctor_tag_t{})
1429
475
    {
1430
475
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>&&)
Line
Count
Source
1427
717
        : base(std::in_place, std::forward<U>(val)),
1428
717
          ctor_base(detail::non_default_ctor_tag_t{})
1429
717
    {
1430
717
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>&&)
Line
Count
Source
1427
565
        : base(std::in_place, std::forward<U>(val)),
1428
565
          ctor_base(detail::non_default_ctor_tag_t{})
1429
565
    {
1430
565
    }
scn::v3::expected<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v3::scan_error>::expected<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, void>(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >&&)
Line
Count
Source
1427
1.22M
        : base(std::in_place, std::forward<U>(val)),
1428
1.22M
          ctor_base(detail::non_default_ctor_tag_t{})
1429
1.22M
    {
1430
1.22M
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>&&)
Line
Count
Source
1427
484
        : base(std::in_place, std::forward<U>(val)),
1428
484
          ctor_base(detail::non_default_ctor_tag_t{})
1429
484
    {
1430
484
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>&&)
Line
Count
Source
1427
411
        : base(std::in_place, std::forward<U>(val)),
1428
411
          ctor_base(detail::non_default_ctor_tag_t{})
1429
411
    {
1430
411
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>&&)
Line
Count
Source
1427
600
        : base(std::in_place, std::forward<U>(val)),
1428
600
          ctor_base(detail::non_default_ctor_tag_t{})
1429
600
    {
1430
600
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>&&)
Line
Count
Source
1427
475
        : base(std::in_place, std::forward<U>(val)),
1428
475
          ctor_base(detail::non_default_ctor_tag_t{})
1429
475
    {
1430
475
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>&&)
Line
Count
Source
1427
717
        : base(std::in_place, std::forward<U>(val)),
1428
717
          ctor_base(detail::non_default_ctor_tag_t{})
1429
717
    {
1430
717
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>&&)
Line
Count
Source
1427
565
        : base(std::in_place, std::forward<U>(val)),
1428
565
          ctor_base(detail::non_default_ctor_tag_t{})
1429
565
    {
1430
565
    }
scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::scan_error>::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, void>(scn::v3::detail::basic_scan_buffer<char>::forward_iterator&&)
Line
Count
Source
1427
6.97M
        : base(std::in_place, std::forward<U>(val)),
1428
6.97M
          ctor_base(detail::non_default_ctor_tag_t{})
1429
6.97M
    {
1430
6.97M
    }
scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::scan_error>::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, void>(scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator&&)
Line
Count
Source
1427
4.14M
        : base(std::in_place, std::forward<U>(val)),
1428
4.14M
          ctor_base(detail::non_default_ctor_tag_t{})
1429
4.14M
    {
1430
4.14M
    }
scn::v3::expected<char const*, scn::v3::scan_error>::expected<char const*, void>(char const*&&)
Line
Count
Source
1427
7.72M
        : base(std::in_place, std::forward<U>(val)),
1428
7.72M
          ctor_base(detail::non_default_ctor_tag_t{})
1429
7.72M
    {
1430
7.72M
    }
scn::v3::expected<wchar_t const*, scn::v3::scan_error>::expected<wchar_t const*, void>(wchar_t const*&&)
Line
Count
Source
1427
6.47M
        : base(std::in_place, std::forward<U>(val)),
1428
6.47M
          ctor_base(detail::non_default_ctor_tag_t{})
1429
6.47M
    {
1430
6.47M
    }
scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::eof_error>::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, void>(scn::v3::detail::basic_scan_buffer<char>::forward_iterator&&)
Line
Count
Source
1427
9.05M
        : base(std::in_place, std::forward<U>(val)),
1428
9.05M
          ctor_base(detail::non_default_ctor_tag_t{})
1429
9.05M
    {
1430
9.05M
    }
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error>::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, void>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>&&)
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::eof_error>::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, void>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >&&)
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::scan_error>::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, void>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >&&)
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, long>, scn::v3::scan_error>::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, long>, void>(std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, long>&&)
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::scan_error>::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, void>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>&&)
scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, long>, scn::v3::scan_error>::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, long>, void>(std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, long>&&)
Line
Count
Source
1427
2.33M
        : base(std::in_place, std::forward<U>(val)),
1428
2.33M
          ctor_base(detail::non_default_ctor_tag_t{})
1429
2.33M
    {
1430
2.33M
    }
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error>::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>&, void>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>&)
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, void>(std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>&&)
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error>::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, void>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>&&)
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error>::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, void>(scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >&&)
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::scan_error>::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, void>(scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >&&)
Unexecuted instantiation: scn::v3::expected<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::expected<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::parse_error>::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator&, void>(scn::v3::detail::basic_scan_buffer<char>::forward_iterator&)
Line
Count
Source
1427
793k
        : base(std::in_place, std::forward<U>(val)),
1428
793k
          ctor_base(detail::non_default_ctor_tag_t{})
1429
793k
    {
1430
793k
    }
scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, void>(std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>&&)
Line
Count
Source
1427
1.71M
        : base(std::in_place, std::forward<U>(val)),
1428
1.71M
          ctor_base(detail::non_default_ctor_tag_t{})
1429
1.71M
    {
1430
1.71M
    }
scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::parse_error>::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, void>(scn::v3::detail::basic_scan_buffer<char>::forward_iterator&&)
Line
Count
Source
1427
5.19M
        : base(std::in_place, std::forward<U>(val)),
1428
5.19M
          ctor_base(detail::non_default_ctor_tag_t{})
1429
5.19M
    {
1430
5.19M
    }
scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, scn::v3::impl::eof_error>::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, void>(scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>&&)
Line
Count
Source
1427
419k
        : base(std::in_place, std::forward<U>(val)),
1428
419k
          ctor_base(detail::non_default_ctor_tag_t{})
1429
419k
    {
1430
419k
    }
scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, scn::v3::scan_error>::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, void>(scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>&&)
Line
Count
Source
1427
419k
        : base(std::in_place, std::forward<U>(val)),
1428
419k
          ctor_base(detail::non_default_ctor_tag_t{})
1429
419k
    {
1430
419k
    }
scn::v3::expected<std::__1::tuple<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::expected<std::__1::tuple<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::tuple<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
1427
58.2k
        : base(std::in_place, std::forward<U>(val)),
1428
58.2k
          ctor_base(detail::non_default_ctor_tag_t{})
1429
58.2k
    {
1430
58.2k
    }
scn::v3::expected<char const*, scn::v3::impl::eof_error>::expected<char const*, void>(char const*&&)
Line
Count
Source
1427
3.77M
        : base(std::in_place, std::forward<U>(val)),
1428
3.77M
          ctor_base(detail::non_default_ctor_tag_t{})
1429
3.77M
    {
1430
3.77M
    }
scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::eof_error>::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, void>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&&)
Line
Count
Source
1427
7.93k
        : base(std::in_place, std::forward<U>(val)),
1428
7.93k
          ctor_base(detail::non_default_ctor_tag_t{})
1429
7.93k
    {
1430
7.93k
    }
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v3::impl::eof_error>::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, void>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >&&)
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v3::scan_error>::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, void>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >&&)
scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, long>, scn::v3::scan_error>::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, long>, void>(std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, long>&&)
Line
Count
Source
1427
3.91k
        : base(std::in_place, std::forward<U>(val)),
1428
3.91k
          ctor_base(detail::non_default_ctor_tag_t{})
1429
3.91k
    {
1430
3.91k
    }
scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::scan_error>::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, void>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&&)
Line
Count
Source
1427
2.11k
        : base(std::in_place, std::forward<U>(val)),
1428
2.11k
          ctor_base(detail::non_default_ctor_tag_t{})
1429
2.11k
    {
1430
2.11k
    }
scn::v3::expected<std::__1::pair<char const*, long>, scn::v3::scan_error>::expected<std::__1::pair<char const*, long>, void>(std::__1::pair<char const*, long>&&)
Line
Count
Source
1427
2.18M
        : base(std::in_place, std::forward<U>(val)),
1428
2.18M
          ctor_base(detail::non_default_ctor_tag_t{})
1429
2.18M
    {
1430
2.18M
    }
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::parse_error>::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&, void>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&)
scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, void>(std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>&&)
Line
Count
Source
1427
1.10k
        : base(std::in_place, std::forward<U>(val)),
1428
1.10k
          ctor_base(detail::non_default_ctor_tag_t{})
1429
1.10k
    {
1430
1.10k
    }
scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::parse_error>::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, void>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&&)
Line
Count
Source
1427
1.49k
        : base(std::in_place, std::forward<U>(val)),
1428
1.49k
          ctor_base(detail::non_default_ctor_tag_t{})
1429
1.49k
    {
1430
1.49k
    }
scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v3::impl::eof_error>::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, void>(scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >&&)
Line
Count
Source
1427
834
        : base(std::in_place, std::forward<U>(val)),
1428
834
          ctor_base(detail::non_default_ctor_tag_t{})
1429
834
    {
1430
834
    }
scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v3::scan_error>::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, void>(scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >&&)
Line
Count
Source
1427
834
        : base(std::in_place, std::forward<U>(val)),
1428
834
          ctor_base(detail::non_default_ctor_tag_t{})
1429
834
    {
1430
834
    }
Unexecuted instantiation: scn::v3::expected<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::expected<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
scn::v3::expected<char const*, scn::v3::impl::parse_error>::expected<char const*&, void>(char const*&)
Line
Count
Source
1427
493k
        : base(std::in_place, std::forward<U>(val)),
1428
493k
          ctor_base(detail::non_default_ctor_tag_t{})
1429
493k
    {
1430
493k
    }
scn::v3::expected<std::__1::pair<char const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::expected<std::__1::pair<char const*, scn::v3::impl::sign_type>, void>(std::__1::pair<char const*, scn::v3::impl::sign_type>&&)
Line
Count
Source
1427
1.48M
        : base(std::in_place, std::forward<U>(val)),
1428
1.48M
          ctor_base(detail::non_default_ctor_tag_t{})
1429
1.48M
    {
1430
1.48M
    }
scn::v3::expected<char const*, scn::v3::impl::parse_error>::expected<char const*, void>(char const*&&)
Line
Count
Source
1427
445k
        : base(std::in_place, std::forward<U>(val)),
1428
445k
          ctor_base(detail::non_default_ctor_tag_t{})
1429
445k
    {
1430
445k
    }
scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<char const*>, scn::v3::impl::eof_error>::expected<scn::v3::impl::parse_integer_prefix_result<char const*>, void>(scn::v3::impl::parse_integer_prefix_result<char const*>&&)
Line
Count
Source
1427
423k
        : base(std::in_place, std::forward<U>(val)),
1428
423k
          ctor_base(detail::non_default_ctor_tag_t{})
1429
423k
    {
1430
423k
    }
scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<char const*>, scn::v3::scan_error>::expected<scn::v3::impl::parse_integer_prefix_result<char const*>, void>(scn::v3::impl::parse_integer_prefix_result<char const*>&&)
Line
Count
Source
1427
423k
        : base(std::in_place, std::forward<U>(val)),
1428
423k
          ctor_base(detail::non_default_ctor_tag_t{})
1429
423k
    {
1430
423k
    }
scn::v3::expected<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::expected<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
1427
58.2k
        : base(std::in_place, std::forward<U>(val)),
1428
58.2k
          ctor_base(detail::non_default_ctor_tag_t{})
1429
58.2k
    {
1430
58.2k
    }
scn::v3::expected<long, scn::v3::scan_error>::expected<long, void>(long&&)
Line
Count
Source
1427
11.9M
        : base(std::in_place, std::forward<U>(val)),
1428
11.9M
          ctor_base(detail::non_default_ctor_tag_t{})
1429
11.9M
    {
1430
11.9M
    }
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::scan_error>::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, void>(std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>&&)
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::scan_error>::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>&, void>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>&)
scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::scan_error>::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, void>(std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>&&)
Line
Count
Source
1427
1.17M
        : base(std::in_place, std::forward<U>(val)),
1428
1.17M
          ctor_base(detail::non_default_ctor_tag_t{})
1429
1.17M
    {
1430
1.17M
    }
scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::scan_error>::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator&, void>(scn::v3::detail::basic_scan_buffer<char>::forward_iterator&)
Line
Count
Source
1427
68.7k
        : base(std::in_place, std::forward<U>(val)),
1428
68.7k
          ctor_base(detail::non_default_ctor_tag_t{})
1429
68.7k
    {
1430
68.7k
    }
scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, scn::v3::scan_error>::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, void>(std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>&&)
Line
Count
Source
1427
274
        : base(std::in_place, std::forward<U>(val)),
1428
274
          ctor_base(detail::non_default_ctor_tag_t{})
1429
274
    {
1430
274
    }
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::scan_error>::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&, void>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&)
scn::v3::expected<std::__1::pair<char const*, scn::v3::impl::sign_type>, scn::v3::scan_error>::expected<std::__1::pair<char const*, scn::v3::impl::sign_type>, void>(std::__1::pair<char const*, scn::v3::impl::sign_type>&&)
Line
Count
Source
1427
1.02M
        : base(std::in_place, std::forward<U>(val)),
1428
1.02M
          ctor_base(detail::non_default_ctor_tag_t{})
1429
1.02M
    {
1430
1.02M
    }
scn::v3::expected<char const*, scn::v3::scan_error>::expected<char const*&, void>(char const*&)
Line
Count
Source
1427
67.3k
        : base(std::in_place, std::forward<U>(val)),
1428
67.3k
          ctor_base(detail::non_default_ctor_tag_t{})
1429
67.3k
    {
1430
67.3k
    }
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::scan_error>::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> const&, void>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> const&)
scn::v3::expected<std::__1::regex_constants::syntax_option_type, scn::v3::scan_error>::expected<std::__1::regex_constants::syntax_option_type, void>(std::__1::regex_constants::syntax_option_type&&)
Line
Count
Source
1427
18.6k
        : base(std::in_place, std::forward<U>(val)),
1428
18.6k
          ctor_base(detail::non_default_ctor_tag_t{})
1429
18.6k
    {
1430
18.6k
    }
scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::scan_error>::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator const&, void>(scn::v3::detail::basic_scan_buffer<char>::forward_iterator const&)
Line
Count
Source
1427
840
        : base(std::in_place, std::forward<U>(val)),
1428
840
          ctor_base(detail::non_default_ctor_tag_t{})
1429
840
    {
1430
840
    }
scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::scan_error>::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const&, void>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const&)
Line
Count
Source
1427
696
        : base(std::in_place, std::forward<U>(val)),
1428
696
          ctor_base(detail::non_default_ctor_tag_t{})
1429
696
    {
1430
696
    }
scn::v3::expected<char const*, scn::v3::scan_error>::expected<char const* const&, void>(char const* const&)
Line
Count
Source
1427
3.40k
        : base(std::in_place, std::forward<U>(val)),
1428
3.40k
          ctor_base(detail::non_default_ctor_tag_t{})
1429
3.40k
    {
1430
3.40k
    }
scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::eof_error>::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, void>(scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator&&)
Line
Count
Source
1427
4.48M
        : base(std::in_place, std::forward<U>(val)),
1428
4.48M
          ctor_base(detail::non_default_ctor_tag_t{})
1429
4.48M
    {
1430
4.48M
    }
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error>::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, void>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>&&)
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::eof_error>::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, void>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >&&)
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::scan_error>::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, void>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >&&)
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, long>, scn::v3::scan_error>::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, long>, void>(std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, long>&&)
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::scan_error>::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, void>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>&&)
scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>, scn::v3::scan_error>::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>, void>(std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>&&)
Line
Count
Source
1427
1.46M
        : base(std::in_place, std::forward<U>(val)),
1428
1.46M
          ctor_base(detail::non_default_ctor_tag_t{})
1429
1.46M
    {
1430
1.46M
    }
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error>::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>&, void>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>&)
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, void>(std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>&&)
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error>::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, void>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>&&)
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error>::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, void>(scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >&&)
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::scan_error>::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, void>(scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >&&)
Unexecuted instantiation: scn::v3::expected<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::expected<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::parse_error>::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator&, void>(scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator&)
Line
Count
Source
1427
21.8k
        : base(std::in_place, std::forward<U>(val)),
1428
21.8k
          ctor_base(detail::non_default_ctor_tag_t{})
1429
21.8k
    {
1430
21.8k
    }
scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, void>(std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>&&)
Line
Count
Source
1427
697k
        : base(std::in_place, std::forward<U>(val)),
1428
697k
          ctor_base(detail::non_default_ctor_tag_t{})
1429
697k
    {
1430
697k
    }
scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::parse_error>::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, void>(scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator&&)
Line
Count
Source
1427
1.90M
        : base(std::in_place, std::forward<U>(val)),
1428
1.90M
          ctor_base(detail::non_default_ctor_tag_t{})
1429
1.90M
    {
1430
1.90M
    }
scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v3::impl::eof_error>::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, void>(scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>&&)
Line
Count
Source
1427
128k
        : base(std::in_place, std::forward<U>(val)),
1428
128k
          ctor_base(detail::non_default_ctor_tag_t{})
1429
128k
    {
1430
128k
    }
scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v3::scan_error>::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, void>(scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>&&)
Line
Count
Source
1427
128k
        : base(std::in_place, std::forward<U>(val)),
1428
128k
          ctor_base(detail::non_default_ctor_tag_t{})
1429
128k
    {
1430
128k
    }
scn::v3::expected<std::__1::tuple<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::expected<std::__1::tuple<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::tuple<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
1427
596
        : base(std::in_place, std::forward<U>(val)),
1428
596
          ctor_base(detail::non_default_ctor_tag_t{})
1429
596
    {
1430
596
    }
scn::v3::expected<wchar_t const*, scn::v3::impl::eof_error>::expected<wchar_t const*, void>(wchar_t const*&&)
Line
Count
Source
1427
4.81M
        : base(std::in_place, std::forward<U>(val)),
1428
4.81M
          ctor_base(detail::non_default_ctor_tag_t{})
1429
4.81M
    {
1430
4.81M
    }
scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::eof_error>::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, void>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&&)
Line
Count
Source
1427
1.74k
        : base(std::in_place, std::forward<U>(val)),
1428
1.74k
          ctor_base(detail::non_default_ctor_tag_t{})
1429
1.74k
    {
1430
1.74k
    }
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v3::impl::eof_error>::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, void>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >&&)
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v3::scan_error>::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, void>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >&&)
scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, long>, scn::v3::scan_error>::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, long>, void>(std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, long>&&)
Line
Count
Source
1427
1.54k
        : base(std::in_place, std::forward<U>(val)),
1428
1.54k
          ctor_base(detail::non_default_ctor_tag_t{})
1429
1.54k
    {
1430
1.54k
    }
scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::scan_error>::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, void>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&&)
Line
Count
Source
1427
884
        : base(std::in_place, std::forward<U>(val)),
1428
884
          ctor_base(detail::non_default_ctor_tag_t{})
1429
884
    {
1430
884
    }
scn::v3::expected<std::__1::pair<wchar_t const*, long>, scn::v3::scan_error>::expected<std::__1::pair<wchar_t const*, long>, void>(std::__1::pair<wchar_t const*, long>&&)
Line
Count
Source
1427
2.15M
        : base(std::in_place, std::forward<U>(val)),
1428
2.15M
          ctor_base(detail::non_default_ctor_tag_t{})
1429
2.15M
    {
1430
2.15M
    }
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::parse_error>::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&, void>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&)
scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, void>(std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>&&)
Line
Count
Source
1427
494
        : base(std::in_place, std::forward<U>(val)),
1428
494
          ctor_base(detail::non_default_ctor_tag_t{})
1429
494
    {
1430
494
    }
scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::parse_error>::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, void>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&&)
Line
Count
Source
1427
654
        : base(std::in_place, std::forward<U>(val)),
1428
654
          ctor_base(detail::non_default_ctor_tag_t{})
1429
654
    {
1430
654
    }
scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v3::impl::eof_error>::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, void>(scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >&&)
Line
Count
Source
1427
378
        : base(std::in_place, std::forward<U>(val)),
1428
378
          ctor_base(detail::non_default_ctor_tag_t{})
1429
378
    {
1430
378
    }
scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v3::scan_error>::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, void>(scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >&&)
Line
Count
Source
1427
378
        : base(std::in_place, std::forward<U>(val)),
1428
378
          ctor_base(detail::non_default_ctor_tag_t{})
1429
378
    {
1430
378
    }
Unexecuted instantiation: scn::v3::expected<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::expected<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
scn::v3::expected<wchar_t const*, scn::v3::impl::parse_error>::expected<wchar_t const*&, void>(wchar_t const*&)
Line
Count
Source
1427
10.8k
        : base(std::in_place, std::forward<U>(val)),
1428
10.8k
          ctor_base(detail::non_default_ctor_tag_t{})
1429
10.8k
    {
1430
10.8k
    }
scn::v3::expected<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::expected<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, void>(std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>&&)
Line
Count
Source
1427
693k
        : base(std::in_place, std::forward<U>(val)),
1428
693k
          ctor_base(detail::non_default_ctor_tag_t{})
1429
693k
    {
1430
693k
    }
scn::v3::expected<wchar_t const*, scn::v3::impl::parse_error>::expected<wchar_t const*, void>(wchar_t const*&&)
Line
Count
Source
1427
1.63M
        : base(std::in_place, std::forward<U>(val)),
1428
1.63M
          ctor_base(detail::non_default_ctor_tag_t{})
1429
1.63M
    {
1430
1.63M
    }
scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, scn::v3::impl::eof_error>::expected<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, void>(scn::v3::impl::parse_integer_prefix_result<wchar_t const*>&&)
Line
Count
Source
1427
130k
        : base(std::in_place, std::forward<U>(val)),
1428
130k
          ctor_base(detail::non_default_ctor_tag_t{})
1429
130k
    {
1430
130k
    }
scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, scn::v3::scan_error>::expected<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, void>(scn::v3::impl::parse_integer_prefix_result<wchar_t const*>&&)
Line
Count
Source
1427
130k
        : base(std::in_place, std::forward<U>(val)),
1428
130k
          ctor_base(detail::non_default_ctor_tag_t{})
1429
130k
    {
1430
130k
    }
scn::v3::expected<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::expected<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
1427
596
        : base(std::in_place, std::forward<U>(val)),
1428
596
          ctor_base(detail::non_default_ctor_tag_t{})
1429
596
    {
1430
596
    }
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::scan_error>::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, void>(std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>&&)
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::scan_error>::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>&, void>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>&)
scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::scan_error>::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, void>(std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>&&)
Line
Count
Source
1427
557k
        : base(std::in_place, std::forward<U>(val)),
1428
557k
          ctor_base(detail::non_default_ctor_tag_t{})
1429
557k
    {
1430
557k
    }
Unexecuted instantiation: scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::scan_error>::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator&, void>(scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator&)
scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, scn::v3::scan_error>::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, void>(std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>&&)
Line
Count
Source
1427
116
        : base(std::in_place, std::forward<U>(val)),
1428
116
          ctor_base(detail::non_default_ctor_tag_t{})
1429
116
    {
1430
116
    }
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::scan_error>::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&, void>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&)
scn::v3::expected<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, scn::v3::scan_error>::expected<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, void>(std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>&&)
Line
Count
Source
1427
558k
        : base(std::in_place, std::forward<U>(val)),
1428
558k
          ctor_base(detail::non_default_ctor_tag_t{})
1429
558k
    {
1430
558k
    }
Unexecuted instantiation: scn::v3::expected<wchar_t const*, scn::v3::scan_error>::expected<wchar_t const*&, void>(wchar_t const*&)
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::scan_error>::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> const&, void>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> const&)
scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::scan_error>::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator const&, void>(scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator const&)
Line
Count
Source
1427
118
        : base(std::in_place, std::forward<U>(val)),
1428
118
          ctor_base(detail::non_default_ctor_tag_t{})
1429
118
    {
1430
118
    }
scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::scan_error>::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const&, void>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const&)
Line
Count
Source
1427
282
        : base(std::in_place, std::forward<U>(val)),
1428
282
          ctor_base(detail::non_default_ctor_tag_t{})
1429
282
    {
1430
282
    }
scn::v3::expected<wchar_t const*, scn::v3::scan_error>::expected<wchar_t const* const&, void>(wchar_t const* const&)
Line
Count
Source
1427
626
        : base(std::in_place, std::forward<U>(val)),
1428
626
          ctor_base(detail::non_default_ctor_tag_t{})
1429
626
    {
1430
626
    }
scn::v3::expected<long, scn::v3::scan_error>::expected<int, void>(int&&)
Line
Count
Source
1427
129k
        : base(std::in_place, std::forward<U>(val)),
1428
129k
          ctor_base(detail::non_default_ctor_tag_t{})
1429
129k
    {
1430
129k
    }
Unexecuted instantiation: scn::v3::expected<wchar_t, scn::v3::scan_error>::expected<wchar_t, void>(wchar_t&&)
scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v3::impl::eof_error>::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, void>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >&&)
Line
Count
Source
1427
2.01k
        : base(std::in_place, std::forward<U>(val)),
1428
2.01k
          ctor_base(detail::non_default_ctor_tag_t{})
1429
2.01k
    {
1430
2.01k
    }
scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v3::scan_error>::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, void>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >&&)
Line
Count
Source
1427
1.81k
        : base(std::in_place, std::forward<U>(val)),
1428
1.81k
          ctor_base(detail::non_default_ctor_tag_t{})
1429
1.81k
    {
1430
1.81k
    }
scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v3::impl::eof_error>::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, void>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >&&)
Line
Count
Source
1427
754
        : base(std::in_place, std::forward<U>(val)),
1428
754
          ctor_base(detail::non_default_ctor_tag_t{})
1429
754
    {
1430
754
    }
scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v3::scan_error>::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, void>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >&&)
Line
Count
Source
1427
754
        : base(std::in_place, std::forward<U>(val)),
1428
754
          ctor_base(detail::non_default_ctor_tag_t{})
1429
754
    {
1430
754
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, float>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, float>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, float>&&)
Line
Count
Source
1427
309k
        : base(std::in_place, std::forward<U>(val)),
1428
309k
          ctor_base(detail::non_default_ctor_tag_t{})
1429
309k
    {
1430
309k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, double>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, double>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, double>&&)
Line
Count
Source
1427
319k
        : base(std::in_place, std::forward<U>(val)),
1428
319k
          ctor_base(detail::non_default_ctor_tag_t{})
1429
319k
    {
1430
319k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long double>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long double>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long double>&&)
Line
Count
Source
1427
326k
        : base(std::in_place, std::forward<U>(val)),
1428
326k
          ctor_base(detail::non_default_ctor_tag_t{})
1429
326k
    {
1430
326k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, float>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, float>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, float>&&)
Line
Count
Source
1427
356k
        : base(std::in_place, std::forward<U>(val)),
1428
356k
          ctor_base(detail::non_default_ctor_tag_t{})
1429
356k
    {
1430
356k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, double>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, double>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, double>&&)
Line
Count
Source
1427
372k
        : base(std::in_place, std::forward<U>(val)),
1428
372k
          ctor_base(detail::non_default_ctor_tag_t{})
1429
372k
    {
1430
372k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long double>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long double>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long double>&&)
Line
Count
Source
1427
378k
        : base(std::in_place, std::forward<U>(val)),
1428
378k
          ctor_base(detail::non_default_ctor_tag_t{})
1429
378k
    {
1430
378k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, float>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, float>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, float>&&)
Line
Count
Source
1427
114k
        : base(std::in_place, std::forward<U>(val)),
1428
114k
          ctor_base(detail::non_default_ctor_tag_t{})
1429
114k
    {
1430
114k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>&&)
Line
Count
Source
1427
134k
        : base(std::in_place, std::forward<U>(val)),
1428
134k
          ctor_base(detail::non_default_ctor_tag_t{})
1429
134k
    {
1430
134k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long double>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long double>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long double>&&)
Line
Count
Source
1427
138k
        : base(std::in_place, std::forward<U>(val)),
1428
138k
          ctor_base(detail::non_default_ctor_tag_t{})
1429
138k
    {
1430
138k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, float>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, float>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, float>&&)
Line
Count
Source
1427
114k
        : base(std::in_place, std::forward<U>(val)),
1428
114k
          ctor_base(detail::non_default_ctor_tag_t{})
1429
114k
    {
1430
114k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, double>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, double>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, double>&&)
Line
Count
Source
1427
134k
        : base(std::in_place, std::forward<U>(val)),
1428
134k
          ctor_base(detail::non_default_ctor_tag_t{})
1429
134k
    {
1430
134k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long double>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long double>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long double>&&)
Line
Count
Source
1427
137k
        : base(std::in_place, std::forward<U>(val)),
1428
137k
          ctor_base(detail::non_default_ctor_tag_t{})
1429
137k
    {
1430
137k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, char>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, char>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, char>&&)
Line
Count
Source
1427
214
        : base(std::in_place, std::forward<U>(val)),
1428
214
          ctor_base(detail::non_default_ctor_tag_t{})
1429
214
    {
1430
214
    }
Unexecuted instantiation: scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, bool>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, bool>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, bool>&&)
Unexecuted instantiation: scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, void*>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, void*>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, void*>&&)
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
1427
111k
        : base(std::in_place, std::forward<U>(val)),
1428
111k
          ctor_base(detail::non_default_ctor_tag_t{})
1429
111k
    {
1430
111k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >&&)
Line
Count
Source
1427
990
        : base(std::in_place, std::forward<U>(val)),
1428
990
          ctor_base(detail::non_default_ctor_tag_t{})
1429
990
    {
1430
990
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >&&)
Line
Count
Source
1427
111k
        : base(std::in_place, std::forward<U>(val)),
1428
111k
          ctor_base(detail::non_default_ctor_tag_t{})
1429
111k
    {
1430
111k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>&&)
Line
Count
Source
1427
96
        : base(std::in_place, std::forward<U>(val)),
1428
96
          ctor_base(detail::non_default_ctor_tag_t{})
1429
96
    {
1430
96
    }
Unexecuted instantiation: scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool>&&)
Unexecuted instantiation: scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*>&&)
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
1427
474
        : base(std::in_place, std::forward<U>(val)),
1428
474
          ctor_base(detail::non_default_ctor_tag_t{})
1429
474
    {
1430
474
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >&&)
Line
Count
Source
1427
834k
        : base(std::in_place, std::forward<U>(val)),
1428
834k
          ctor_base(detail::non_default_ctor_tag_t{})
1429
834k
    {
1430
834k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >&&)
Line
Count
Source
1427
834k
        : base(std::in_place, std::forward<U>(val)),
1428
834k
          ctor_base(detail::non_default_ctor_tag_t{})
1429
834k
    {
1430
834k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
1427
138k
        : base(std::in_place, std::forward<U>(val)),
1428
138k
          ctor_base(detail::non_default_ctor_tag_t{})
1429
138k
    {
1430
138k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >&&)
Line
Count
Source
1427
833k
        : base(std::in_place, std::forward<U>(val)),
1428
833k
          ctor_base(detail::non_default_ctor_tag_t{})
1429
833k
    {
1430
833k
    }
1431
1432
    /// Construct an expected value directly in-place
1433
    template <typename... Args,
1434
              typename = std::enable_if_t<std::is_constructible_v<T, Args...>>>
1435
    explicit constexpr expected(std::in_place_t, Args&&... args) noexcept(
1436
        std::is_nothrow_constructible_v<base, std::in_place_t, Args&&...>)
1437
        : base(std::in_place, std::forward<Args>(args)...),
1438
          ctor_base(detail::non_default_ctor_tag_t{})
1439
    {
1440
    }
1441
1442
    template <typename G = E,
1443
              std::enable_if_t<std::is_constructible_v<E, const G&>>* = nullptr,
1444
              std::enable_if_t<!std::is_convertible_v<const G&, E>>* = nullptr>
1445
    explicit constexpr expected(const unexpected<G>& e) noexcept(
1446
        std::is_nothrow_constructible_v<base, unexpect_t, const G&>)
1447
        : base(unexpect, e.error()), ctor_base(detail::non_default_ctor_tag_t{})
1448
    {
1449
    }
1450
    template <typename G = E,
1451
              std::enable_if_t<std::is_constructible_v<E, const G&>>* = nullptr,
1452
              std::enable_if_t<std::is_convertible_v<const G&, E>>* = nullptr>
1453
    SCN_IMPLICIT constexpr expected(const unexpected<G>& e) noexcept(
1454
        std::is_nothrow_constructible_v<base, unexpect_t, const G&>)
1455
        : base(unexpect, e.error()), ctor_base(detail::non_default_ctor_tag_t{})
1456
    {
1457
    }
1458
1459
    template <typename G = E,
1460
              std::enable_if_t<std::is_constructible_v<E, G&&>>* = nullptr,
1461
              std::enable_if_t<!std::is_convertible_v<G&&, E>>* = nullptr>
1462
    explicit constexpr expected(unexpected<G>&& e) noexcept(
1463
        std::is_nothrow_constructible_v<base, unexpect_t, G&&>)
1464
        : base(unexpect, std::move(e.error())),
1465
          ctor_base(detail::non_default_ctor_tag_t{})
1466
    {
1467
    }
1468
    template <typename G = E,
1469
              std::enable_if_t<std::is_constructible_v<E, G&&>>* = nullptr,
1470
              std::enable_if_t<std::is_convertible_v<G&&, E>>* = nullptr>
1471
    SCN_IMPLICIT constexpr expected(unexpected<G>&& e) noexcept(
1472
        std::is_nothrow_constructible_v<base, unexpect_t, G&&>)
1473
29.6M
        : base(unexpect, std::move(e.error())),
1474
29.6M
          ctor_base(detail::non_default_ctor_tag_t{})
1475
29.6M
    {
1476
29.6M
    }
_ZN3scn2v38expectedINS0_6ranges6detail9subrange_8subrangeIPKcS7_EENS0_10scan_errorEEC2IS9_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS9_OT_EEvE4typeELPv0ETnPNSD_IXsr3stdE16is_convertible_vISF_S9_EEvE4typeELSJ_0EEEONS0_10unexpectedISE_EE
Line
Count
Source
1473
300k
        : base(unexpect, std::move(e.error())),
1474
300k
          ctor_base(detail::non_default_ctor_tag_t{})
1475
300k
    {
1476
300k
    }
_ZN3scn2v38expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJaEEENS0_10scan_errorEEC2ISB_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISB_OT_EEvE4typeELPv0ETnPNSF_IXsr3stdE16is_convertible_vISH_SB_EEvE4typeELSL_0EEEONS0_10unexpectedISG_EE
Line
Count
Source
1473
14.8k
        : base(unexpect, std::move(e.error())),
1474
14.8k
          ctor_base(detail::non_default_ctor_tag_t{})
1475
14.8k
    {
1476
14.8k
    }
_ZN3scn2v38expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJhEEENS0_10scan_errorEEC2ISB_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISB_OT_EEvE4typeELPv0ETnPNSF_IXsr3stdE16is_convertible_vISH_SB_EEvE4typeELSL_0EEEONS0_10unexpectedISG_EE
Line
Count
Source
1473
14.8k
        : base(unexpect, std::move(e.error())),
1474
14.8k
          ctor_base(detail::non_default_ctor_tag_t{})
1475
14.8k
    {
1476
14.8k
    }
_ZN3scn2v38expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJiEEENS0_10scan_errorEEC2ISB_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISB_OT_EEvE4typeELPv0ETnPNSF_IXsr3stdE16is_convertible_vISH_SB_EEvE4typeELSL_0EEEONS0_10unexpectedISG_EE
Line
Count
Source
1473
26.0k
        : base(unexpect, std::move(e.error())),
1474
26.0k
          ctor_base(detail::non_default_ctor_tag_t{})
1475
26.0k
    {
1476
26.0k
    }
_ZN3scn2v38expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJjEEENS0_10scan_errorEEC2ISB_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISB_OT_EEvE4typeELPv0ETnPNSF_IXsr3stdE16is_convertible_vISH_SB_EEvE4typeELSL_0EEEONS0_10unexpectedISG_EE
Line
Count
Source
1473
26.0k
        : base(unexpect, std::move(e.error())),
1474
26.0k
          ctor_base(detail::non_default_ctor_tag_t{})
1475
26.0k
    {
1476
26.0k
    }
_ZN3scn2v38expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJxEEENS0_10scan_errorEEC2ISB_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISB_OT_EEvE4typeELPv0ETnPNSF_IXsr3stdE16is_convertible_vISH_SB_EEvE4typeELSL_0EEEONS0_10unexpectedISG_EE
Line
Count
Source
1473
14.8k
        : base(unexpect, std::move(e.error())),
1474
14.8k
          ctor_base(detail::non_default_ctor_tag_t{})
1475
14.8k
    {
1476
14.8k
    }
_ZN3scn2v38expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJyEEENS0_10scan_errorEEC2ISB_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISB_OT_EEvE4typeELPv0ETnPNSF_IXsr3stdE16is_convertible_vISH_SB_EEvE4typeELSL_0EEEONS0_10unexpectedISG_EE
Line
Count
Source
1473
14.8k
        : base(unexpect, std::move(e.error())),
1474
14.8k
          ctor_base(detail::non_default_ctor_tag_t{})
1475
14.8k
    {
1476
14.8k
    }
_ZN3scn2v38expectedINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS8_PKS9_lLl4096EEESD_EENS0_10scan_errorEEC2ISF_TnPNS6_9enable_ifIXsr3stdE18is_constructible_vISF_OT_EEvE4typeELPv0ETnPNSI_IXsr3stdE16is_convertible_vISK_SF_EEvE4typeELSO_0EEEONS0_10unexpectedISJ_EE
Line
Count
Source
1473
189k
        : base(unexpect, std::move(e.error())),
1474
189k
          ctor_base(detail::non_default_ctor_tag_t{})
1475
189k
    {
1476
189k
    }
_ZN3scn2v38expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEJaEEENS0_10scan_errorEEC2ISH_TnPNS7_9enable_ifIXsr3stdE18is_constructible_vISH_OT_EEvE4typeELPv0ETnPNSK_IXsr3stdE16is_convertible_vISM_SH_EEvE4typeELSQ_0EEEONS0_10unexpectedISL_EE
Line
Count
Source
1473
14.8k
        : base(unexpect, std::move(e.error())),
1474
14.8k
          ctor_base(detail::non_default_ctor_tag_t{})
1475
14.8k
    {
1476
14.8k
    }
_ZN3scn2v38expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEJhEEENS0_10scan_errorEEC2ISH_TnPNS7_9enable_ifIXsr3stdE18is_constructible_vISH_OT_EEvE4typeELPv0ETnPNSK_IXsr3stdE16is_convertible_vISM_SH_EEvE4typeELSQ_0EEEONS0_10unexpectedISL_EE
Line
Count
Source
1473
14.8k
        : base(unexpect, std::move(e.error())),
1474
14.8k
          ctor_base(detail::non_default_ctor_tag_t{})
1475
14.8k
    {
1476
14.8k
    }
_ZN3scn2v38expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEJiEEENS0_10scan_errorEEC2ISH_TnPNS7_9enable_ifIXsr3stdE18is_constructible_vISH_OT_EEvE4typeELPv0ETnPNSK_IXsr3stdE16is_convertible_vISM_SH_EEvE4typeELSQ_0EEEONS0_10unexpectedISL_EE
Line
Count
Source
1473
14.8k
        : base(unexpect, std::move(e.error())),
1474
14.8k
          ctor_base(detail::non_default_ctor_tag_t{})
1475
14.8k
    {
1476
14.8k
    }
_ZN3scn2v38expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEJjEEENS0_10scan_errorEEC2ISH_TnPNS7_9enable_ifIXsr3stdE18is_constructible_vISH_OT_EEvE4typeELPv0ETnPNSK_IXsr3stdE16is_convertible_vISM_SH_EEvE4typeELSQ_0EEEONS0_10unexpectedISL_EE
Line
Count
Source
1473
14.8k
        : base(unexpect, std::move(e.error())),
1474
14.8k
          ctor_base(detail::non_default_ctor_tag_t{})
1475
14.8k
    {
1476
14.8k
    }
_ZN3scn2v38expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEJxEEENS0_10scan_errorEEC2ISH_TnPNS7_9enable_ifIXsr3stdE18is_constructible_vISH_OT_EEvE4typeELPv0ETnPNSK_IXsr3stdE16is_convertible_vISM_SH_EEvE4typeELSQ_0EEEONS0_10unexpectedISL_EE
Line
Count
Source
1473
14.8k
        : base(unexpect, std::move(e.error())),
1474
14.8k
          ctor_base(detail::non_default_ctor_tag_t{})
1475
14.8k
    {
1476
14.8k
    }
_ZN3scn2v38expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEJyEEENS0_10scan_errorEEC2ISH_TnPNS7_9enable_ifIXsr3stdE18is_constructible_vISH_OT_EEvE4typeELPv0ETnPNSK_IXsr3stdE16is_convertible_vISM_SH_EEvE4typeELSQ_0EEEONS0_10unexpectedISL_EE
Line
Count
Source
1473
14.8k
        : base(unexpect, std::move(e.error())),
1474
14.8k
          ctor_base(detail::non_default_ctor_tag_t{})
1475
14.8k
    {
1476
14.8k
    }
_ZN3scn2v38expectedINS0_6ranges6detail9subrange_8subrangeIPKwS7_EENS0_10scan_errorEEC2IS9_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS9_OT_EEvE4typeELPv0ETnPNSD_IXsr3stdE16is_convertible_vISF_S9_EEvE4typeELSJ_0EEEONS0_10unexpectedISE_EE
Line
Count
Source
1473
605k
        : base(unexpect, std::move(e.error())),
1474
605k
          ctor_base(detail::non_default_ctor_tag_t{})
1475
605k
    {
1476
605k
    }
_ZN3scn2v38expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJaEEENS0_10scan_errorEEC2ISB_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISB_OT_EEvE4typeELPv0ETnPNSF_IXsr3stdE16is_convertible_vISH_SB_EEvE4typeELSL_0EEEONS0_10unexpectedISG_EE
Line
Count
Source
1473
29.6k
        : base(unexpect, std::move(e.error())),
1474
29.6k
          ctor_base(detail::non_default_ctor_tag_t{})
1475
29.6k
    {
1476
29.6k
    }
_ZN3scn2v38expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJhEEENS0_10scan_errorEEC2ISB_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISB_OT_EEvE4typeELPv0ETnPNSF_IXsr3stdE16is_convertible_vISH_SB_EEvE4typeELSL_0EEEONS0_10unexpectedISG_EE
Line
Count
Source
1473
29.6k
        : base(unexpect, std::move(e.error())),
1474
29.6k
          ctor_base(detail::non_default_ctor_tag_t{})
1475
29.6k
    {
1476
29.6k
    }
_ZN3scn2v38expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJiEEENS0_10scan_errorEEC2ISB_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISB_OT_EEvE4typeELPv0ETnPNSF_IXsr3stdE16is_convertible_vISH_SB_EEvE4typeELSL_0EEEONS0_10unexpectedISG_EE
Line
Count
Source
1473
52.0k
        : base(unexpect, std::move(e.error())),
1474
52.0k
          ctor_base(detail::non_default_ctor_tag_t{})
1475
52.0k
    {
1476
52.0k
    }
_ZN3scn2v38expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJjEEENS0_10scan_errorEEC2ISB_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISB_OT_EEvE4typeELPv0ETnPNSF_IXsr3stdE16is_convertible_vISH_SB_EEvE4typeELSL_0EEEONS0_10unexpectedISG_EE
Line
Count
Source
1473
52.0k
        : base(unexpect, std::move(e.error())),
1474
52.0k
          ctor_base(detail::non_default_ctor_tag_t{})
1475
52.0k
    {
1476
52.0k
    }
_ZN3scn2v38expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJxEEENS0_10scan_errorEEC2ISB_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISB_OT_EEvE4typeELPv0ETnPNSF_IXsr3stdE16is_convertible_vISH_SB_EEvE4typeELSL_0EEEONS0_10unexpectedISG_EE
Line
Count
Source
1473
29.6k
        : base(unexpect, std::move(e.error())),
1474
29.6k
          ctor_base(detail::non_default_ctor_tag_t{})
1475
29.6k
    {
1476
29.6k
    }
_ZN3scn2v38expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJyEEENS0_10scan_errorEEC2ISB_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISB_OT_EEvE4typeELPv0ETnPNSF_IXsr3stdE16is_convertible_vISH_SB_EEvE4typeELSL_0EEEONS0_10unexpectedISG_EE
Line
Count
Source
1473
29.6k
        : base(unexpect, std::move(e.error())),
1474
29.6k
          ctor_base(detail::non_default_ctor_tag_t{})
1475
29.6k
    {
1476
29.6k
    }
_ZN3scn2v38expectedINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRS8_PKS9_lLl1024EEESD_EENS0_10scan_errorEEC2ISF_TnPNS6_9enable_ifIXsr3stdE18is_constructible_vISF_OT_EEvE4typeELPv0ETnPNSI_IXsr3stdE16is_convertible_vISK_SF_EEvE4typeELSO_0EEEONS0_10unexpectedISJ_EE
Line
Count
Source
1473
378k
        : base(unexpect, std::move(e.error())),
1474
378k
          ctor_base(detail::non_default_ctor_tag_t{})
1475
378k
    {
1476
378k
    }
_ZN3scn2v38expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRS9_PKSA_lLl1024EEESE_EEJaEEENS0_10scan_errorEEC2ISH_TnPNS7_9enable_ifIXsr3stdE18is_constructible_vISH_OT_EEvE4typeELPv0ETnPNSK_IXsr3stdE16is_convertible_vISM_SH_EEvE4typeELSQ_0EEEONS0_10unexpectedISL_EE
Line
Count
Source
1473
29.6k
        : base(unexpect, std::move(e.error())),
1474
29.6k
          ctor_base(detail::non_default_ctor_tag_t{})
1475
29.6k
    {
1476
29.6k
    }
_ZN3scn2v38expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRS9_PKSA_lLl1024EEESE_EEJhEEENS0_10scan_errorEEC2ISH_TnPNS7_9enable_ifIXsr3stdE18is_constructible_vISH_OT_EEvE4typeELPv0ETnPNSK_IXsr3stdE16is_convertible_vISM_SH_EEvE4typeELSQ_0EEEONS0_10unexpectedISL_EE
Line
Count
Source
1473
29.6k
        : base(unexpect, std::move(e.error())),
1474
29.6k
          ctor_base(detail::non_default_ctor_tag_t{})
1475
29.6k
    {
1476
29.6k
    }
_ZN3scn2v38expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRS9_PKSA_lLl1024EEESE_EEJiEEENS0_10scan_errorEEC2ISH_TnPNS7_9enable_ifIXsr3stdE18is_constructible_vISH_OT_EEvE4typeELPv0ETnPNSK_IXsr3stdE16is_convertible_vISM_SH_EEvE4typeELSQ_0EEEONS0_10unexpectedISL_EE
Line
Count
Source
1473
29.6k
        : base(unexpect, std::move(e.error())),
1474
29.6k
          ctor_base(detail::non_default_ctor_tag_t{})
1475
29.6k
    {
1476
29.6k
    }
_ZN3scn2v38expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRS9_PKSA_lLl1024EEESE_EEJjEEENS0_10scan_errorEEC2ISH_TnPNS7_9enable_ifIXsr3stdE18is_constructible_vISH_OT_EEvE4typeELPv0ETnPNSK_IXsr3stdE16is_convertible_vISM_SH_EEvE4typeELSQ_0EEEONS0_10unexpectedISL_EE
Line
Count
Source
1473
29.6k
        : base(unexpect, std::move(e.error())),
1474
29.6k
          ctor_base(detail::non_default_ctor_tag_t{})
1475
29.6k
    {
1476
29.6k
    }
_ZN3scn2v38expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRS9_PKSA_lLl1024EEESE_EEJxEEENS0_10scan_errorEEC2ISH_TnPNS7_9enable_ifIXsr3stdE18is_constructible_vISH_OT_EEvE4typeELPv0ETnPNSK_IXsr3stdE16is_convertible_vISM_SH_EEvE4typeELSQ_0EEEONS0_10unexpectedISL_EE
Line
Count
Source
1473
29.6k
        : base(unexpect, std::move(e.error())),
1474
29.6k
          ctor_base(detail::non_default_ctor_tag_t{})
1475
29.6k
    {
1476
29.6k
    }
_ZN3scn2v38expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRS9_PKSA_lLl1024EEESE_EEJyEEENS0_10scan_errorEEC2ISH_TnPNS7_9enable_ifIXsr3stdE18is_constructible_vISH_OT_EEvE4typeELPv0ETnPNSK_IXsr3stdE16is_convertible_vISM_SH_EEvE4typeELSQ_0EEEONS0_10unexpectedISL_EE
Line
Count
Source
1473
29.6k
        : base(unexpect, std::move(e.error())),
1474
29.6k
          ctor_base(detail::non_default_ctor_tag_t{})
1475
29.6k
    {
1476
29.6k
    }
_ZN3scn2v38expectedIPKcNS0_10scan_errorEEC2IS4_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS4_OT_EEvE4typeELPv0ETnPNS8_IXsr3stdE16is_convertible_vISA_S4_EEvE4typeELSE_0EEEONS0_10unexpectedIS9_EE
Line
Count
Source
1473
478k
        : base(unexpect, std::move(e.error())),
1474
478k
          ctor_base(detail::non_default_ctor_tag_t{})
1475
478k
    {
1476
478k
    }
_ZN3scn2v38expectedIPKwNS0_10scan_errorEEC2IS4_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS4_OT_EEvE4typeELPv0ETnPNS8_IXsr3stdE16is_convertible_vISA_S4_EEvE4typeELSE_0EEEONS0_10unexpectedIS9_EE
Line
Count
Source
1473
835k
        : base(unexpect, std::move(e.error())),
1474
835k
          ctor_base(detail::non_default_ctor_tag_t{})
1475
835k
    {
1476
835k
    }
_ZN3scn2v38expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_10scan_errorEEC2IS6_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS6_OT_EEvE4typeELPv0ETnPNSA_IXsr3stdE16is_convertible_vISC_S6_EEvE4typeELSG_0EEEONS0_10unexpectedISB_EE
Line
Count
Source
1473
335k
        : base(unexpect, std::move(e.error())),
1474
335k
          ctor_base(detail::non_default_ctor_tag_t{})
1475
335k
    {
1476
335k
    }
_ZN3scn2v38expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl9eof_errorEEC2IS7_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS7_OT_EEvE4typeELPv0ETnPNSB_IXsr3stdE16is_convertible_vISD_S7_EEvE4typeELSH_0EEEONS0_10unexpectedISC_EE
Line
Count
Source
1473
99.8k
        : base(unexpect, std::move(e.error())),
1474
99.8k
          ctor_base(detail::non_default_ctor_tag_t{})
1475
99.8k
    {
1476
99.8k
    }
Unexecuted instantiation: _ZN3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_9eof_errorEEC2ISC_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISC_OT_EEvE4typeELPv0ETnPNSG_IXsr3stdE16is_convertible_vISI_SC_EEvE4typeELSM_0EEEONS0_10unexpectedISH_EE
Unexecuted instantiation: _ZN3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_INS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_15take_width_viewINS9_6detail9subrange_8subrangeIS8_SA_EEE8sentinelILb1EEEEENS2_9eof_errorEEC2ISL_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISL_OT_EEvE4typeELPv0ETnPNSP_IXsr3stdE16is_convertible_vISR_SL_EEvE4typeELSV_0EEEONS0_10unexpectedISQ_EE
Unexecuted instantiation: _ZN3scn2v38expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEElEENS0_10scan_errorEEC2ISF_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vISF_OT_EEvE4typeELPv0ETnPNSI_IXsr3stdE16is_convertible_vISK_SF_EEvE4typeELSO_0EEEONS0_10unexpectedISJ_EE
_ZN3scn2v38expectedINSt3__14pairINS0_6detail17basic_scan_bufferIcE16forward_iteratorElEENS0_10scan_errorEEC2IS9_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vIS9_OT_EEvE4typeELPv0ETnPNSC_IXsr3stdE16is_convertible_vISE_S9_EEvE4typeELSI_0EEEONS0_10unexpectedISD_EE
Line
Count
Source
1473
24.9k
        : base(unexpect, std::move(e.error())),
1474
24.9k
          ctor_base(detail::non_default_ctor_tag_t{})
1475
24.9k
    {
1476
24.9k
    }
Unexecuted instantiation: _ZN3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS0_10scan_errorEEC2ISC_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISC_OT_EEvE4typeELPv0ETnPNSG_IXsr3stdE16is_convertible_vISI_SC_EEvE4typeELSM_0EEEONS0_10unexpectedISH_EE
Unexecuted instantiation: _ZN3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEEC2ISC_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISC_OT_EEvE4typeELPv0ETnPNSG_IXsr3stdE16is_convertible_vISI_SC_EEvE4typeELSM_0EEEONS0_10unexpectedISH_EE
Unexecuted instantiation: _ZN3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEEC2INSC_4codeETnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISC_OT_EEvE4typeELPv0ETnPNSH_IXsr3stdE16is_convertible_vISJ_SC_EEvE4typeELSN_0EEEONS0_10unexpectedISI_EE
Unexecuted instantiation: _ZN3scn2v38expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9sign_typeEEENS4_9eof_errorEEC2ISG_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vISG_OT_EEvE4typeELPv0ETnPNSJ_IXsr3stdE16is_convertible_vISL_SG_EEvE4typeELSP_0EEEONS0_10unexpectedISK_EE
Unexecuted instantiation: _ZN3scn2v38expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS2_9eof_errorEEC2ISE_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISE_OT_EEvE4typeELPv0ETnPNSI_IXsr3stdE16is_convertible_vISK_SE_EEvE4typeELSO_0EEEONS0_10unexpectedISJ_EE
Unexecuted instantiation: _ZN3scn2v38expectedINSt3__15tupleIJNS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_12basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEESJ_EEENS0_10scan_errorEEC2ISL_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vISL_OT_EEvE4typeELPv0ETnPNSO_IXsr3stdE16is_convertible_vISQ_SL_EEvE4typeELSU_0EEEONS0_10unexpectedISP_EE
_ZN3scn2v38expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl11parse_errorEEC2IS7_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS7_OT_EEvE4typeELPv0ETnPNSB_IXsr3stdE16is_convertible_vISD_S7_EEvE4typeELSH_0EEEONS0_10unexpectedISC_EE
Line
Count
Source
1473
1.23M
        : base(unexpect, std::move(e.error())),
1474
1.23M
          ctor_base(detail::non_default_ctor_tag_t{})
1475
1.23M
    {
1476
1.23M
    }
_ZN3scn2v38expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl11parse_errorEEC2INS7_4codeETnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS7_OT_EEvE4typeELPv0ETnPNSC_IXsr3stdE16is_convertible_vISE_S7_EEvE4typeELSI_0EEEONS0_10unexpectedISD_EE
Line
Count
Source
1473
7.48M
        : base(unexpect, std::move(e.error())),
1474
7.48M
          ctor_base(detail::non_default_ctor_tag_t{})
1475
7.48M
    {
1476
7.48M
    }
_ZN3scn2v38expectedINSt3__14pairINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl9sign_typeEEENS8_9eof_errorEEC2ISB_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vISB_OT_EEvE4typeELPv0ETnPNSE_IXsr3stdE16is_convertible_vISG_SB_EEvE4typeELSK_0EEEONS0_10unexpectedISF_EE
Line
Count
Source
1473
288
        : base(unexpect, std::move(e.error())),
1474
288
          ctor_base(detail::non_default_ctor_tag_t{})
1475
288
    {
1476
288
    }
Unexecuted instantiation: _ZN3scn2v38expectedINS0_4impl27parse_integer_prefix_resultINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEENS2_9eof_errorEEC2IS9_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS9_OT_EEvE4typeELPv0ETnPNSD_IXsr3stdE16is_convertible_vISF_S9_EEvE4typeELSJ_0EEEONS0_10unexpectedISE_EE
_ZN3scn2v38expectedINSt3__15tupleIJNS0_6detail17basic_scan_bufferIcE16forward_iteratorENS2_12basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEESD_EEENS0_10scan_errorEEC2ISF_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vISF_OT_EEvE4typeELPv0ETnPNSI_IXsr3stdE16is_convertible_vISK_SF_EEvE4typeELSO_0EEEONS0_10unexpectedISJ_EE
Line
Count
Source
1473
3.07k
        : base(unexpect, std::move(e.error())),
1474
3.07k
          ctor_base(detail::non_default_ctor_tag_t{})
1475
3.07k
    {
1476
3.07k
    }
_ZN3scn2v38expectedIPKcNS0_4impl9eof_errorEEC2IS5_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS5_OT_EEvE4typeELPv0ETnPNS9_IXsr3stdE16is_convertible_vISB_S5_EEvE4typeELSF_0EEEONS0_10unexpectedISA_EE
Line
Count
Source
1473
36.0k
        : base(unexpect, std::move(e.error())),
1474
36.0k
          ctor_base(detail::non_default_ctor_tag_t{})
1475
36.0k
    {
1476
36.0k
    }
_ZN3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS2_9eof_errorEEC2IS8_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS8_OT_EEvE4typeELPv0ETnPNSC_IXsr3stdE16is_convertible_vISE_S8_EEvE4typeELSI_0EEEONS0_10unexpectedISD_EE
Line
Count
Source
1473
344
        : base(unexpect, std::move(e.error())),
1474
344
          ctor_base(detail::non_default_ctor_tag_t{})
1475
344
    {
1476
344
    }
Unexecuted instantiation: _ZN3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKcS6_EENS2_15take_width_viewINSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEE8sentinelILb1EEEEENS2_9eof_errorEEC2ISI_TnPNS9_9enable_ifIXsr3stdE18is_constructible_vISI_OT_EEvE4typeELPv0ETnPNSL_IXsr3stdE16is_convertible_vISN_SI_EEvE4typeELSR_0EEEONS0_10unexpectedISM_EE
_ZN3scn2v38expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EElEENS0_10scan_errorEEC2ISB_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vISB_OT_EEvE4typeELPv0ETnPNSE_IXsr3stdE16is_convertible_vISG_SB_EEvE4typeELSK_0EEEONS0_10unexpectedISF_EE
Line
Count
Source
1473
174
        : base(unexpect, std::move(e.error())),
1474
174
          ctor_base(detail::non_default_ctor_tag_t{})
1475
174
    {
1476
174
    }
_ZN3scn2v38expectedINSt3__14pairIPKclEENS0_10scan_errorEEC2IS7_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vIS7_OT_EEvE4typeELPv0ETnPNSA_IXsr3stdE16is_convertible_vISC_S7_EEvE4typeELSG_0EEEONS0_10unexpectedISB_EE
Line
Count
Source
1473
21.3k
        : base(unexpect, std::move(e.error())),
1474
21.3k
          ctor_base(detail::non_default_ctor_tag_t{})
1475
21.3k
    {
1476
21.3k
    }
_ZN3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS0_10scan_errorEEC2IS8_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS8_OT_EEvE4typeELPv0ETnPNSC_IXsr3stdE16is_convertible_vISE_S8_EEvE4typeELSI_0EEEONS0_10unexpectedISD_EE
Line
Count
Source
1473
4.01k
        : base(unexpect, std::move(e.error())),
1474
4.01k
          ctor_base(detail::non_default_ctor_tag_t{})
1475
4.01k
    {
1476
4.01k
    }
_ZN3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS2_11parse_errorEEC2IS8_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS8_OT_EEvE4typeELPv0ETnPNSC_IXsr3stdE16is_convertible_vISE_S8_EEvE4typeELSI_0EEEONS0_10unexpectedISD_EE
Line
Count
Source
1473
590
        : base(unexpect, std::move(e.error())),
1474
590
          ctor_base(detail::non_default_ctor_tag_t{})
1475
590
    {
1476
590
    }
_ZN3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS2_11parse_errorEEC2INS8_4codeETnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS8_OT_EEvE4typeELPv0ETnPNSD_IXsr3stdE16is_convertible_vISF_S8_EEvE4typeELSJ_0EEEONS0_10unexpectedISE_EE
Line
Count
Source
1473
4.31k
        : base(unexpect, std::move(e.error())),
1474
4.31k
          ctor_base(detail::non_default_ctor_tag_t{})
1475
4.31k
    {
1476
4.31k
    }
Unexecuted instantiation: _ZN3scn2v38expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS4_9sign_typeEEENS4_9eof_errorEEC2ISC_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vISC_OT_EEvE4typeELPv0ETnPNSF_IXsr3stdE16is_convertible_vISH_SC_EEvE4typeELSL_0EEEONS0_10unexpectedISG_EE
Unexecuted instantiation: _ZN3scn2v38expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEENS2_9eof_errorEEC2ISA_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISA_OT_EEvE4typeELPv0ETnPNSE_IXsr3stdE16is_convertible_vISG_SA_EEvE4typeELSK_0EEEONS0_10unexpectedISF_EE
_ZN3scn2v38expectedINSt3__15tupleIJNS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS2_12basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEESF_EEENS0_10scan_errorEEC2ISH_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vISH_OT_EEvE4typeELPv0ETnPNSK_IXsr3stdE16is_convertible_vISM_SH_EEvE4typeELSQ_0EEEONS0_10unexpectedISL_EE
Line
Count
Source
1473
20
        : base(unexpect, std::move(e.error())),
1474
20
          ctor_base(detail::non_default_ctor_tag_t{})
1475
20
    {
1476
20
    }
_ZN3scn2v38expectedIPKcNS0_4impl11parse_errorEEC2IS5_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS5_OT_EEvE4typeELPv0ETnPNS9_IXsr3stdE16is_convertible_vISB_S5_EEvE4typeELSF_0EEEONS0_10unexpectedISA_EE
Line
Count
Source
1473
1.06M
        : base(unexpect, std::move(e.error())),
1474
1.06M
          ctor_base(detail::non_default_ctor_tag_t{})
1475
1.06M
    {
1476
1.06M
    }
_ZN3scn2v38expectedIPKcNS0_4impl11parse_errorEEC2INS5_4codeETnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS5_OT_EEvE4typeELPv0ETnPNSA_IXsr3stdE16is_convertible_vISC_S5_EEvE4typeELSG_0EEEONS0_10unexpectedISB_EE
Line
Count
Source
1473
4.85M
        : base(unexpect, std::move(e.error())),
1474
4.85M
          ctor_base(detail::non_default_ctor_tag_t{})
1475
4.85M
    {
1476
4.85M
    }
_ZN3scn2v38expectedINSt3__14pairIPKcNS0_4impl9sign_typeEEENS6_9eof_errorEEC2IS9_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vIS9_OT_EEvE4typeELPv0ETnPNSC_IXsr3stdE16is_convertible_vISE_S9_EEvE4typeELSI_0EEEONS0_10unexpectedISD_EE
Line
Count
Source
1473
96
        : base(unexpect, std::move(e.error())),
1474
96
          ctor_base(detail::non_default_ctor_tag_t{})
1475
96
    {
1476
96
    }
Unexecuted instantiation: _ZN3scn2v38expectedINS0_4impl27parse_integer_prefix_resultIPKcEENS2_9eof_errorEEC2IS7_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS7_OT_EEvE4typeELPv0ETnPNSB_IXsr3stdE16is_convertible_vISD_S7_EEvE4typeELSH_0EEEONS0_10unexpectedISC_EE
_ZN3scn2v38expectedINSt3__15tupleIJPKcNS2_12basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEESB_EEENS0_10scan_errorEEC2ISD_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vISD_OT_EEvE4typeELPv0ETnPNSG_IXsr3stdE16is_convertible_vISI_SD_EEvE4typeELSM_0EEEONS0_10unexpectedISH_EE
Line
Count
Source
1473
3.27k
        : base(unexpect, std::move(e.error())),
1474
3.27k
          ctor_base(detail::non_default_ctor_tag_t{})
1475
3.27k
    {
1476
3.27k
    }
_ZN3scn2v38expectedIlNS0_10scan_errorEEC2IS2_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS2_OT_EEvE4typeELPv0ETnPNS6_IXsr3stdE16is_convertible_vIS8_S2_EEvE4typeELSC_0EEEONS0_10unexpectedIS7_EE
Line
Count
Source
1473
1.74M
        : base(unexpect, std::move(e.error())),
1474
1.74M
          ctor_base(detail::non_default_ctor_tag_t{})
1475
1.74M
    {
1476
1.74M
    }
Unexecuted instantiation: _ZN3scn2v38expectedINSt3__115regex_constants18syntax_option_typeENS0_10scan_errorEEC2IS5_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vIS5_OT_EEvE4typeELPv0ETnPNS8_IXsr3stdE16is_convertible_vISA_S5_EEvE4typeELSE_0EEEONS0_10unexpectedIS9_EE
_ZN3scn2v38expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_10scan_errorEEC2IS6_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS6_OT_EEvE4typeELPv0ETnPNSA_IXsr3stdE16is_convertible_vISC_S6_EEvE4typeELSG_0EEEONS0_10unexpectedISB_EE
Line
Count
Source
1473
732k
        : base(unexpect, std::move(e.error())),
1474
732k
          ctor_base(detail::non_default_ctor_tag_t{})
1475
732k
    {
1476
732k
    }
_ZN3scn2v38expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl9eof_errorEEC2IS7_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS7_OT_EEvE4typeELPv0ETnPNSB_IXsr3stdE16is_convertible_vISD_S7_EEvE4typeELSH_0EEEONS0_10unexpectedISC_EE
Line
Count
Source
1473
83.9k
        : base(unexpect, std::move(e.error())),
1474
83.9k
          ctor_base(detail::non_default_ctor_tag_t{})
1475
83.9k
    {
1476
83.9k
    }
Unexecuted instantiation: _ZN3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_9eof_errorEEC2ISC_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISC_OT_EEvE4typeELPv0ETnPNSG_IXsr3stdE16is_convertible_vISI_SC_EEvE4typeELSM_0EEEONS0_10unexpectedISH_EE
Unexecuted instantiation: _ZN3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_INS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_15take_width_viewINS9_6detail9subrange_8subrangeIS8_SA_EEE8sentinelILb1EEEEENS2_9eof_errorEEC2ISL_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISL_OT_EEvE4typeELPv0ETnPNSP_IXsr3stdE16is_convertible_vISR_SL_EEvE4typeELSV_0EEEONS0_10unexpectedISQ_EE
Unexecuted instantiation: _ZN3scn2v38expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEElEENS0_10scan_errorEEC2ISF_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vISF_OT_EEvE4typeELPv0ETnPNSI_IXsr3stdE16is_convertible_vISK_SF_EEvE4typeELSO_0EEEONS0_10unexpectedISJ_EE
_ZN3scn2v38expectedINSt3__14pairINS0_6detail17basic_scan_bufferIwE16forward_iteratorElEENS0_10scan_errorEEC2IS9_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vIS9_OT_EEvE4typeELPv0ETnPNSC_IXsr3stdE16is_convertible_vISE_S9_EEvE4typeELSI_0EEEONS0_10unexpectedISD_EE
Line
Count
Source
1473
5.38k
        : base(unexpect, std::move(e.error())),
1474
5.38k
          ctor_base(detail::non_default_ctor_tag_t{})
1475
5.38k
    {
1476
5.38k
    }
Unexecuted instantiation: _ZN3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS0_10scan_errorEEC2ISC_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISC_OT_EEvE4typeELPv0ETnPNSG_IXsr3stdE16is_convertible_vISI_SC_EEvE4typeELSM_0EEEONS0_10unexpectedISH_EE
Unexecuted instantiation: _ZN3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEEC2ISC_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISC_OT_EEvE4typeELPv0ETnPNSG_IXsr3stdE16is_convertible_vISI_SC_EEvE4typeELSM_0EEEONS0_10unexpectedISH_EE
Unexecuted instantiation: _ZN3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEEC2INSC_4codeETnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISC_OT_EEvE4typeELPv0ETnPNSH_IXsr3stdE16is_convertible_vISJ_SC_EEvE4typeELSN_0EEEONS0_10unexpectedISI_EE
Unexecuted instantiation: _ZN3scn2v38expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9sign_typeEEENS4_9eof_errorEEC2ISG_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vISG_OT_EEvE4typeELPv0ETnPNSJ_IXsr3stdE16is_convertible_vISL_SG_EEvE4typeELSP_0EEEONS0_10unexpectedISK_EE
Unexecuted instantiation: _ZN3scn2v38expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS2_9eof_errorEEC2ISE_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISE_OT_EEvE4typeELPv0ETnPNSI_IXsr3stdE16is_convertible_vISK_SE_EEvE4typeELSO_0EEEONS0_10unexpectedISJ_EE
Unexecuted instantiation: _ZN3scn2v38expectedINSt3__15tupleIJNS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_12basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEENSE_IcNSF_IcEENSH_IcEEEEEEENS0_10scan_errorEEC2ISO_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vISO_OT_EEvE4typeELPv0ETnPNSR_IXsr3stdE16is_convertible_vIST_SO_EEvE4typeELSX_0EEEONS0_10unexpectedISS_EE
_ZN3scn2v38expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl11parse_errorEEC2IS7_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS7_OT_EEvE4typeELPv0ETnPNSB_IXsr3stdE16is_convertible_vISD_S7_EEvE4typeELSH_0EEEONS0_10unexpectedISC_EE
Line
Count
Source
1473
633k
        : base(unexpect, std::move(e.error())),
1474
633k
          ctor_base(detail::non_default_ctor_tag_t{})
1475
633k
    {
1476
633k
    }
_ZN3scn2v38expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl11parse_errorEEC2INS7_4codeETnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS7_OT_EEvE4typeELPv0ETnPNSC_IXsr3stdE16is_convertible_vISE_S7_EEvE4typeELSI_0EEEONS0_10unexpectedISD_EE
Line
Count
Source
1473
3.63M
        : base(unexpect, std::move(e.error())),
1474
3.63M
          ctor_base(detail::non_default_ctor_tag_t{})
1475
3.63M
    {
1476
3.63M
    }
_ZN3scn2v38expectedINSt3__14pairINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl9sign_typeEEENS8_9eof_errorEEC2ISB_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vISB_OT_EEvE4typeELPv0ETnPNSE_IXsr3stdE16is_convertible_vISG_SB_EEvE4typeELSK_0EEEONS0_10unexpectedISF_EE
Line
Count
Source
1473
79
        : base(unexpect, std::move(e.error())),
1474
79
          ctor_base(detail::non_default_ctor_tag_t{})
1475
79
    {
1476
79
    }
Unexecuted instantiation: _ZN3scn2v38expectedINS0_4impl27parse_integer_prefix_resultINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEENS2_9eof_errorEEC2IS9_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS9_OT_EEvE4typeELPv0ETnPNSD_IXsr3stdE16is_convertible_vISF_S9_EEvE4typeELSJ_0EEEONS0_10unexpectedISE_EE
_ZN3scn2v38expectedINSt3__15tupleIJNS0_6detail17basic_scan_bufferIwE16forward_iteratorENS2_12basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEENS8_IcNS9_IcEENSB_IcEEEEEEENS0_10scan_errorEEC2ISI_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vISI_OT_EEvE4typeELPv0ETnPNSL_IXsr3stdE16is_convertible_vISN_SI_EEvE4typeELSR_0EEEONS0_10unexpectedISM_EE
Line
Count
Source
1473
16.4k
        : base(unexpect, std::move(e.error())),
1474
16.4k
          ctor_base(detail::non_default_ctor_tag_t{})
1475
16.4k
    {
1476
16.4k
    }
_ZN3scn2v38expectedIPKwNS0_4impl9eof_errorEEC2IS5_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS5_OT_EEvE4typeELPv0ETnPNS9_IXsr3stdE16is_convertible_vISB_S5_EEvE4typeELSF_0EEEONS0_10unexpectedISA_EE
Line
Count
Source
1473
85.4k
        : base(unexpect, std::move(e.error())),
1474
85.4k
          ctor_base(detail::non_default_ctor_tag_t{})
1475
85.4k
    {
1476
85.4k
    }
_ZN3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS2_9eof_errorEEC2IS8_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS8_OT_EEvE4typeELPv0ETnPNSC_IXsr3stdE16is_convertible_vISE_S8_EEvE4typeELSI_0EEEONS0_10unexpectedISD_EE
Line
Count
Source
1473
154
        : base(unexpect, std::move(e.error())),
1474
154
          ctor_base(detail::non_default_ctor_tag_t{})
1475
154
    {
1476
154
    }
Unexecuted instantiation: _ZN3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKwS6_EENS2_15take_width_viewINSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEE8sentinelILb1EEEEENS2_9eof_errorEEC2ISI_TnPNS9_9enable_ifIXsr3stdE18is_constructible_vISI_OT_EEvE4typeELPv0ETnPNSL_IXsr3stdE16is_convertible_vISN_SI_EEvE4typeELSR_0EEEONS0_10unexpectedISM_EE
Unexecuted instantiation: _ZN3scn2v38expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EElEENS0_10scan_errorEEC2ISB_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vISB_OT_EEvE4typeELPv0ETnPNSE_IXsr3stdE16is_convertible_vISG_SB_EEvE4typeELSK_0EEEONS0_10unexpectedISF_EE
_ZN3scn2v38expectedINSt3__14pairIPKwlEENS0_10scan_errorEEC2IS7_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vIS7_OT_EEvE4typeELPv0ETnPNSA_IXsr3stdE16is_convertible_vISC_S7_EEvE4typeELSG_0EEEONS0_10unexpectedISB_EE
Line
Count
Source
1473
6.50k
        : base(unexpect, std::move(e.error())),
1474
6.50k
          ctor_base(detail::non_default_ctor_tag_t{})
1475
6.50k
    {
1476
6.50k
    }
_ZN3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS0_10scan_errorEEC2IS8_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS8_OT_EEvE4typeELPv0ETnPNSC_IXsr3stdE16is_convertible_vISE_S8_EEvE4typeELSI_0EEEONS0_10unexpectedISD_EE
Line
Count
Source
1473
1.43k
        : base(unexpect, std::move(e.error())),
1474
1.43k
          ctor_base(detail::non_default_ctor_tag_t{})
1475
1.43k
    {
1476
1.43k
    }
_ZN3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS2_11parse_errorEEC2IS8_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS8_OT_EEvE4typeELPv0ETnPNSC_IXsr3stdE16is_convertible_vISE_S8_EEvE4typeELSI_0EEEONS0_10unexpectedISD_EE
Line
Count
Source
1473
270
        : base(unexpect, std::move(e.error())),
1474
270
          ctor_base(detail::non_default_ctor_tag_t{})
1475
270
    {
1476
270
    }
_ZN3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS2_11parse_errorEEC2INS8_4codeETnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS8_OT_EEvE4typeELPv0ETnPNSD_IXsr3stdE16is_convertible_vISF_S8_EEvE4typeELSJ_0EEEONS0_10unexpectedISE_EE
Line
Count
Source
1473
1.94k
        : base(unexpect, std::move(e.error())),
1474
1.94k
          ctor_base(detail::non_default_ctor_tag_t{})
1475
1.94k
    {
1476
1.94k
    }
Unexecuted instantiation: _ZN3scn2v38expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS4_9sign_typeEEENS4_9eof_errorEEC2ISC_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vISC_OT_EEvE4typeELPv0ETnPNSF_IXsr3stdE16is_convertible_vISH_SC_EEvE4typeELSL_0EEEONS0_10unexpectedISG_EE
Unexecuted instantiation: _ZN3scn2v38expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEENS2_9eof_errorEEC2ISA_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISA_OT_EEvE4typeELPv0ETnPNSE_IXsr3stdE16is_convertible_vISG_SA_EEvE4typeELSK_0EEEONS0_10unexpectedISF_EE
_ZN3scn2v38expectedINSt3__15tupleIJNS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS2_12basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEENSA_IcNSB_IcEENSD_IcEEEEEEENS0_10scan_errorEEC2ISK_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vISK_OT_EEvE4typeELPv0ETnPNSN_IXsr3stdE16is_convertible_vISP_SK_EEvE4typeELST_0EEEONS0_10unexpectedISO_EE
Line
Count
Source
1473
40
        : base(unexpect, std::move(e.error())),
1474
40
          ctor_base(detail::non_default_ctor_tag_t{})
1475
40
    {
1476
40
    }
_ZN3scn2v38expectedIPKwNS0_4impl11parse_errorEEC2IS5_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS5_OT_EEvE4typeELPv0ETnPNS9_IXsr3stdE16is_convertible_vISB_S5_EEvE4typeELSF_0EEEONS0_10unexpectedISA_EE
Line
Count
Source
1473
632k
        : base(unexpect, std::move(e.error())),
1474
632k
          ctor_base(detail::non_default_ctor_tag_t{})
1475
632k
    {
1476
632k
    }
_ZN3scn2v38expectedIPKwNS0_4impl11parse_errorEEC2INS5_4codeETnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS5_OT_EEvE4typeELPv0ETnPNSA_IXsr3stdE16is_convertible_vISC_S5_EEvE4typeELSG_0EEEONS0_10unexpectedISB_EE
Line
Count
Source
1473
2.66M
        : base(unexpect, std::move(e.error())),
1474
2.66M
          ctor_base(detail::non_default_ctor_tag_t{})
1475
2.66M
    {
1476
2.66M
    }
_ZN3scn2v38expectedINSt3__14pairIPKwNS0_4impl9sign_typeEEENS6_9eof_errorEEC2IS9_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vIS9_OT_EEvE4typeELPv0ETnPNSC_IXsr3stdE16is_convertible_vISE_S9_EEvE4typeELSI_0EEEONS0_10unexpectedISD_EE
Line
Count
Source
1473
28
        : base(unexpect, std::move(e.error())),
1474
28
          ctor_base(detail::non_default_ctor_tag_t{})
1475
28
    {
1476
28
    }
Unexecuted instantiation: _ZN3scn2v38expectedINS0_4impl27parse_integer_prefix_resultIPKwEENS2_9eof_errorEEC2IS7_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS7_OT_EEvE4typeELPv0ETnPNSB_IXsr3stdE16is_convertible_vISD_S7_EEvE4typeELSH_0EEEONS0_10unexpectedISC_EE
_ZN3scn2v38expectedINSt3__15tupleIJPKwNS2_12basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEENS6_IcNS7_IcEENS9_IcEEEEEEENS0_10scan_errorEEC2ISG_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vISG_OT_EEvE4typeELPv0ETnPNSJ_IXsr3stdE16is_convertible_vISL_SG_EEvE4typeELSP_0EEEONS0_10unexpectedISK_EE
Line
Count
Source
1473
16.4k
        : base(unexpect, std::move(e.error())),
1474
16.4k
          ctor_base(detail::non_default_ctor_tag_t{})
1475
16.4k
    {
1476
16.4k
    }
_ZN3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKcS6_EENS2_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS6_S6_EEE8sentinelILb1EEEEENS2_9eof_errorEEC2ISI_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISI_OT_EEvE4typeELPv0ETnPNSM_IXsr3stdE16is_convertible_vISO_SI_EEvE4typeELSS_0EEEONS0_10unexpectedISN_EE
Line
Count
Source
1473
226
        : base(unexpect, std::move(e.error())),
1474
226
          ctor_base(detail::non_default_ctor_tag_t{})
1475
226
    {
1476
226
    }
Unexecuted instantiation: _ZN3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKwS6_EENS2_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS6_S6_EEE8sentinelILb1EEEEENS2_9eof_errorEEC2ISI_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISI_OT_EEvE4typeELPv0ETnPNSM_IXsr3stdE16is_convertible_vISO_SI_EEvE4typeELSS_0EEEONS0_10unexpectedISN_EE
_ZN3scn2v38expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJfEEENS0_10scan_errorEEC2ISB_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISB_OT_EEvE4typeELPv0ETnPNSF_IXsr3stdE16is_convertible_vISH_SB_EEvE4typeELSL_0EEEONS0_10unexpectedISG_EE
Line
Count
Source
1473
28.9k
        : base(unexpect, std::move(e.error())),
1474
28.9k
          ctor_base(detail::non_default_ctor_tag_t{})
1475
28.9k
    {
1476
28.9k
    }
_ZN3scn2v38expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJdEEENS0_10scan_errorEEC2ISB_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISB_OT_EEvE4typeELPv0ETnPNSF_IXsr3stdE16is_convertible_vISH_SB_EEvE4typeELSL_0EEEONS0_10unexpectedISG_EE
Line
Count
Source
1473
40.1k
        : base(unexpect, std::move(e.error())),
1474
40.1k
          ctor_base(detail::non_default_ctor_tag_t{})
1475
40.1k
    {
1476
40.1k
    }
_ZN3scn2v38expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJeEEENS0_10scan_errorEEC2ISB_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISB_OT_EEvE4typeELPv0ETnPNSF_IXsr3stdE16is_convertible_vISH_SB_EEvE4typeELSL_0EEEONS0_10unexpectedISG_EE
Line
Count
Source
1473
28.9k
        : base(unexpect, std::move(e.error())),
1474
28.9k
          ctor_base(detail::non_default_ctor_tag_t{})
1475
28.9k
    {
1476
28.9k
    }
_ZN3scn2v38expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEJfEEENS0_10scan_errorEEC2ISH_TnPNS7_9enable_ifIXsr3stdE18is_constructible_vISH_OT_EEvE4typeELPv0ETnPNSK_IXsr3stdE16is_convertible_vISM_SH_EEvE4typeELSQ_0EEEONS0_10unexpectedISL_EE
Line
Count
Source
1473
28.9k
        : base(unexpect, std::move(e.error())),
1474
28.9k
          ctor_base(detail::non_default_ctor_tag_t{})
1475
28.9k
    {
1476
28.9k
    }
_ZN3scn2v38expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEJdEEENS0_10scan_errorEEC2ISH_TnPNS7_9enable_ifIXsr3stdE18is_constructible_vISH_OT_EEvE4typeELPv0ETnPNSK_IXsr3stdE16is_convertible_vISM_SH_EEvE4typeELSQ_0EEEONS0_10unexpectedISL_EE
Line
Count
Source
1473
28.9k
        : base(unexpect, std::move(e.error())),
1474
28.9k
          ctor_base(detail::non_default_ctor_tag_t{})
1475
28.9k
    {
1476
28.9k
    }
_ZN3scn2v38expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEJeEEENS0_10scan_errorEEC2ISH_TnPNS7_9enable_ifIXsr3stdE18is_constructible_vISH_OT_EEvE4typeELPv0ETnPNSK_IXsr3stdE16is_convertible_vISM_SH_EEvE4typeELSQ_0EEEONS0_10unexpectedISL_EE
Line
Count
Source
1473
28.9k
        : base(unexpect, std::move(e.error())),
1474
28.9k
          ctor_base(detail::non_default_ctor_tag_t{})
1475
28.9k
    {
1476
28.9k
    }
_ZN3scn2v38expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJfEEENS0_10scan_errorEEC2ISB_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISB_OT_EEvE4typeELPv0ETnPNSF_IXsr3stdE16is_convertible_vISH_SB_EEvE4typeELSL_0EEEONS0_10unexpectedISG_EE
Line
Count
Source
1473
57.9k
        : base(unexpect, std::move(e.error())),
1474
57.9k
          ctor_base(detail::non_default_ctor_tag_t{})
1475
57.9k
    {
1476
57.9k
    }
_ZN3scn2v38expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJdEEENS0_10scan_errorEEC2ISB_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISB_OT_EEvE4typeELPv0ETnPNSF_IXsr3stdE16is_convertible_vISH_SB_EEvE4typeELSL_0EEEONS0_10unexpectedISG_EE
Line
Count
Source
1473
80.3k
        : base(unexpect, std::move(e.error())),
1474
80.3k
          ctor_base(detail::non_default_ctor_tag_t{})
1475
80.3k
    {
1476
80.3k
    }
_ZN3scn2v38expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJeEEENS0_10scan_errorEEC2ISB_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISB_OT_EEvE4typeELPv0ETnPNSF_IXsr3stdE16is_convertible_vISH_SB_EEvE4typeELSL_0EEEONS0_10unexpectedISG_EE
Line
Count
Source
1473
57.9k
        : base(unexpect, std::move(e.error())),
1474
57.9k
          ctor_base(detail::non_default_ctor_tag_t{})
1475
57.9k
    {
1476
57.9k
    }
_ZN3scn2v38expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRS9_PKSA_lLl1024EEESE_EEJfEEENS0_10scan_errorEEC2ISH_TnPNS7_9enable_ifIXsr3stdE18is_constructible_vISH_OT_EEvE4typeELPv0ETnPNSK_IXsr3stdE16is_convertible_vISM_SH_EEvE4typeELSQ_0EEEONS0_10unexpectedISL_EE
Line
Count
Source
1473
57.9k
        : base(unexpect, std::move(e.error())),
1474
57.9k
          ctor_base(detail::non_default_ctor_tag_t{})
1475
57.9k
    {
1476
57.9k
    }
_ZN3scn2v38expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRS9_PKSA_lLl1024EEESE_EEJdEEENS0_10scan_errorEEC2ISH_TnPNS7_9enable_ifIXsr3stdE18is_constructible_vISH_OT_EEvE4typeELPv0ETnPNSK_IXsr3stdE16is_convertible_vISM_SH_EEvE4typeELSQ_0EEEONS0_10unexpectedISL_EE
Line
Count
Source
1473
57.9k
        : base(unexpect, std::move(e.error())),
1474
57.9k
          ctor_base(detail::non_default_ctor_tag_t{})
1475
57.9k
    {
1476
57.9k
    }
_ZN3scn2v38expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRS9_PKSA_lLl1024EEESE_EEJeEEENS0_10scan_errorEEC2ISH_TnPNS7_9enable_ifIXsr3stdE18is_constructible_vISH_OT_EEvE4typeELPv0ETnPNSK_IXsr3stdE16is_convertible_vISM_SH_EEvE4typeELSQ_0EEEONS0_10unexpectedISL_EE
Line
Count
Source
1473
57.9k
        : base(unexpect, std::move(e.error())),
1474
57.9k
          ctor_base(detail::non_default_ctor_tag_t{})
1475
57.9k
    {
1476
57.9k
    }
_ZN3scn2v38expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJcEEENS0_10scan_errorEEC2ISB_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISB_OT_EEvE4typeELPv0ETnPNSF_IXsr3stdE16is_convertible_vISH_SB_EEvE4typeELSL_0EEEONS0_10unexpectedISG_EE
Line
Count
Source
1473
10.9k
        : base(unexpect, std::move(e.error())),
1474
10.9k
          ctor_base(detail::non_default_ctor_tag_t{})
1475
10.9k
    {
1476
10.9k
    }
_ZN3scn2v38expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJbEEENS0_10scan_errorEEC2ISB_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISB_OT_EEvE4typeELPv0ETnPNSF_IXsr3stdE16is_convertible_vISH_SB_EEvE4typeELSL_0EEEONS0_10unexpectedISG_EE
Line
Count
Source
1473
11.1k
        : base(unexpect, std::move(e.error())),
1474
11.1k
          ctor_base(detail::non_default_ctor_tag_t{})
1475
11.1k
    {
1476
11.1k
    }
_ZN3scn2v38expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJPvEEENS0_10scan_errorEEC2ISC_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISC_OT_EEvE4typeELSA_0ETnPNSG_IXsr3stdE16is_convertible_vISI_SC_EEvE4typeELSA_0EEEONS0_10unexpectedISH_EE
Line
Count
Source
1473
11.1k
        : base(unexpect, std::move(e.error())),
1474
11.1k
          ctor_base(detail::non_default_ctor_tag_t{})
1475
11.1k
    {
1476
11.1k
    }
_ZN3scn2v38expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJNSt3__112basic_stringIcNSA_11char_traitsIcEENSA_9allocatorIcEEEEEEENS0_10scan_errorEEC2ISI_TnPNSA_9enable_ifIXsr3stdE18is_constructible_vISI_OT_EEvE4typeELPv0ETnPNSL_IXsr3stdE16is_convertible_vISN_SI_EEvE4typeELSR_0EEEONS0_10unexpectedISM_EE
Line
Count
Source
1473
23.6k
        : base(unexpect, std::move(e.error())),
1474
23.6k
          ctor_base(detail::non_default_ctor_tag_t{})
1475
23.6k
    {
1476
23.6k
    }
_ZN3scn2v38expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJNSt3__112basic_stringIwNSA_11char_traitsIwEENSA_9allocatorIwEEEEEEENS0_10scan_errorEEC2ISI_TnPNSA_9enable_ifIXsr3stdE18is_constructible_vISI_OT_EEvE4typeELPv0ETnPNSL_IXsr3stdE16is_convertible_vISN_SI_EEvE4typeELSR_0EEEONS0_10unexpectedISM_EE
Line
Count
Source
1473
10.2k
        : base(unexpect, std::move(e.error())),
1474
10.2k
          ctor_base(detail::non_default_ctor_tag_t{})
1475
10.2k
    {
1476
10.2k
    }
_ZN3scn2v38expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJNSt3__117basic_string_viewIcNSA_11char_traitsIcEEEEEEENS0_10scan_errorEEC2ISG_TnPNSA_9enable_ifIXsr3stdE18is_constructible_vISG_OT_EEvE4typeELPv0ETnPNSJ_IXsr3stdE16is_convertible_vISL_SG_EEvE4typeELSP_0EEEONS0_10unexpectedISK_EE
Line
Count
Source
1473
23.6k
        : base(unexpect, std::move(e.error())),
1474
23.6k
          ctor_base(detail::non_default_ctor_tag_t{})
1475
23.6k
    {
1476
23.6k
    }
_ZN3scn2v38expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJwEEENS0_10scan_errorEEC2ISB_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISB_OT_EEvE4typeELPv0ETnPNSF_IXsr3stdE16is_convertible_vISH_SB_EEvE4typeELSL_0EEEONS0_10unexpectedISG_EE
Line
Count
Source
1473
22.2k
        : base(unexpect, std::move(e.error())),
1474
22.2k
          ctor_base(detail::non_default_ctor_tag_t{})
1475
22.2k
    {
1476
22.2k
    }
_ZN3scn2v38expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJbEEENS0_10scan_errorEEC2ISB_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISB_OT_EEvE4typeELPv0ETnPNSF_IXsr3stdE16is_convertible_vISH_SB_EEvE4typeELSL_0EEEONS0_10unexpectedISG_EE
Line
Count
Source
1473
22.3k
        : base(unexpect, std::move(e.error())),
1474
22.3k
          ctor_base(detail::non_default_ctor_tag_t{})
1475
22.3k
    {
1476
22.3k
    }
_ZN3scn2v38expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJPvEEENS0_10scan_errorEEC2ISC_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISC_OT_EEvE4typeELSA_0ETnPNSG_IXsr3stdE16is_convertible_vISI_SC_EEvE4typeELSA_0EEEONS0_10unexpectedISH_EE
Line
Count
Source
1473
22.3k
        : base(unexpect, std::move(e.error())),
1474
22.3k
          ctor_base(detail::non_default_ctor_tag_t{})
1475
22.3k
    {
1476
22.3k
    }
_ZN3scn2v38expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJNSt3__112basic_stringIcNSA_11char_traitsIcEENSA_9allocatorIcEEEEEEENS0_10scan_errorEEC2ISI_TnPNSA_9enable_ifIXsr3stdE18is_constructible_vISI_OT_EEvE4typeELPv0ETnPNSL_IXsr3stdE16is_convertible_vISN_SI_EEvE4typeELSR_0EEEONS0_10unexpectedISM_EE
Line
Count
Source
1473
21.9k
        : base(unexpect, std::move(e.error())),
1474
21.9k
          ctor_base(detail::non_default_ctor_tag_t{})
1475
21.9k
    {
1476
21.9k
    }
_ZN3scn2v38expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJNSt3__112basic_stringIwNSA_11char_traitsIwEENSA_9allocatorIwEEEEEEENS0_10scan_errorEEC2ISI_TnPNSA_9enable_ifIXsr3stdE18is_constructible_vISI_OT_EEvE4typeELPv0ETnPNSL_IXsr3stdE16is_convertible_vISN_SI_EEvE4typeELSR_0EEEONS0_10unexpectedISM_EE
Line
Count
Source
1473
48.7k
        : base(unexpect, std::move(e.error())),
1474
48.7k
          ctor_base(detail::non_default_ctor_tag_t{})
1475
48.7k
    {
1476
48.7k
    }
_ZN3scn2v38expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJNSt3__117basic_string_viewIwNSA_11char_traitsIwEEEEEEENS0_10scan_errorEEC2ISG_TnPNSA_9enable_ifIXsr3stdE18is_constructible_vISG_OT_EEvE4typeELPv0ETnPNSJ_IXsr3stdE16is_convertible_vISL_SG_EEvE4typeELSP_0EEEONS0_10unexpectedISK_EE
Line
Count
Source
1473
48.7k
        : base(unexpect, std::move(e.error())),
1474
48.7k
          ctor_base(detail::non_default_ctor_tag_t{})
1475
48.7k
    {
1476
48.7k
    }
_ZN3scn2v38expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEJNS7_12basic_stringIcNS7_11char_traitsIcEENS7_9allocatorIcEEEEEEENS0_10scan_errorEEC2ISN_TnPNS7_9enable_ifIXsr3stdE18is_constructible_vISN_OT_EEvE4typeELPv0ETnPNSQ_IXsr3stdE16is_convertible_vISS_SN_EEvE4typeELSW_0EEEONS0_10unexpectedISR_EE
Line
Count
Source
1473
13.4k
        : base(unexpect, std::move(e.error())),
1474
13.4k
          ctor_base(detail::non_default_ctor_tag_t{})
1475
13.4k
    {
1476
13.4k
    }
_ZN3scn2v38expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRS9_PKSA_lLl1024EEESE_EEJNS7_12basic_stringIwNS7_11char_traitsIwEENS7_9allocatorIwEEEEEEENS0_10scan_errorEEC2ISN_TnPNS7_9enable_ifIXsr3stdE18is_constructible_vISN_OT_EEvE4typeELPv0ETnPNSQ_IXsr3stdE16is_convertible_vISS_SN_EEvE4typeELSW_0EEEONS0_10unexpectedISR_EE
Line
Count
Source
1473
26.8k
        : base(unexpect, std::move(e.error())),
1474
26.8k
          ctor_base(detail::non_default_ctor_tag_t{})
1475
26.8k
    {
1476
26.8k
    }
1477
1478
    /// Construct an unexpected value directly in-place
1479
    template <typename... Args,
1480
              typename = std::enable_if_t<std::is_constructible_v<E, Args...>>>
1481
    explicit constexpr expected(unexpect_t, Args&&... args) noexcept(
1482
        std::is_nothrow_constructible_v<base, unexpect_t, Args&&...>)
1483
3.91M
        : base(unexpect, std::forward<Args>(args)...),
1484
3.91M
          ctor_base(detail::non_default_ctor_tag_t{})
1485
3.91M
    {
1486
3.91M
    }
scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::scan_error>::expected<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
1483
1.21M
        : base(unexpect, std::forward<Args>(args)...),
1484
1.21M
          ctor_base(detail::non_default_ctor_tag_t{})
1485
1.21M
    {
1486
1.21M
    }
scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::scan_error>::expected<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
1483
837k
        : base(unexpect, std::forward<Args>(args)...),
1484
837k
          ctor_base(detail::non_default_ctor_tag_t{})
1485
837k
    {
1486
837k
    }
scn::v3::expected<char const*, scn::v3::scan_error>::expected<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
1483
1.01M
        : base(unexpect, std::forward<Args>(args)...),
1484
1.01M
          ctor_base(detail::non_default_ctor_tag_t{})
1485
1.01M
    {
1486
1.01M
    }
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::scan_error>::expected<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::scan_error>::expected<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error>::expected<scn::v3::impl::parse_error, void>(scn::v3::unexpect_t, scn::v3::impl::parse_error&&)
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::scan_error>::expected<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::parse_error>::expected<scn::v3::impl::parse_error, void>(scn::v3::unexpect_t, scn::v3::impl::parse_error&&)
Line
Count
Source
1483
47.1k
        : base(unexpect, std::forward<Args>(args)...),
1484
47.1k
          ctor_base(detail::non_default_ctor_tag_t{})
1485
47.1k
    {
1486
47.1k
    }
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, scn::v3::scan_error>::expected<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v3::scan_error>::expected<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::scan_error>::expected<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
1483
1.36k
        : base(unexpect, std::forward<Args>(args)...),
1484
1.36k
          ctor_base(detail::non_default_ctor_tag_t{})
1485
1.36k
    {
1486
1.36k
    }
scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::parse_error>::expected<scn::v3::impl::parse_error, void>(scn::v3::unexpect_t, scn::v3::impl::parse_error&&)
Line
Count
Source
1483
316
        : base(unexpect, std::forward<Args>(args)...),
1484
316
          ctor_base(detail::non_default_ctor_tag_t{})
1485
316
    {
1486
316
    }
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v3::scan_error>::expected<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<char const*>, scn::v3::scan_error>::expected<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::scan_error>::expected<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::scan_error>::expected<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, scn::v3::scan_error>::expected<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Unexecuted instantiation: scn::v3::expected<std::__1::pair<char const*, scn::v3::impl::sign_type>, scn::v3::scan_error>::expected<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::scan_error>::expected<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::scan_error>::expected<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error>::expected<scn::v3::impl::parse_error, void>(scn::v3::unexpect_t, scn::v3::impl::parse_error&&)
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::scan_error>::expected<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::parse_error>::expected<scn::v3::impl::parse_error, void>(scn::v3::unexpect_t, scn::v3::impl::parse_error&&)
Line
Count
Source
1483
73.4k
        : base(unexpect, std::forward<Args>(args)...),
1484
73.4k
          ctor_base(detail::non_default_ctor_tag_t{})
1485
73.4k
    {
1486
73.4k
    }
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v3::scan_error>::expected<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v3::scan_error>::expected<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::scan_error>::expected<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
1483
570
        : base(unexpect, std::forward<Args>(args)...),
1484
570
          ctor_base(detail::non_default_ctor_tag_t{})
1485
570
    {
1486
570
    }
scn::v3::expected<wchar_t const*, scn::v3::scan_error>::expected<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
1483
644k
        : base(unexpect, std::forward<Args>(args)...),
1484
644k
          ctor_base(detail::non_default_ctor_tag_t{})
1485
644k
    {
1486
644k
    }
scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::parse_error>::expected<scn::v3::impl::parse_error, void>(scn::v3::unexpect_t, scn::v3::impl::parse_error&&)
Line
Count
Source
1483
154
        : base(unexpect, std::forward<Args>(args)...),
1484
154
          ctor_base(detail::non_default_ctor_tag_t{})
1485
154
    {
1486
154
    }
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v3::scan_error>::expected<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
scn::v3::expected<wchar_t const*, scn::v3::impl::parse_error>::expected<scn::v3::impl::parse_error, void>(scn::v3::unexpect_t, scn::v3::impl::parse_error&&)
Line
Count
Source
1483
73.6k
        : base(unexpect, std::forward<Args>(args)...),
1484
73.6k
          ctor_base(detail::non_default_ctor_tag_t{})
1485
73.6k
    {
1486
73.6k
    }
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, scn::v3::scan_error>::expected<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::scan_error>::expected<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::scan_error>::expected<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, scn::v3::scan_error>::expected<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Unexecuted instantiation: scn::v3::expected<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, scn::v3::scan_error>::expected<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
scn::v3::expected<char const*, scn::v3::impl::parse_error>::expected<scn::v3::impl::parse_error, void>(scn::v3::unexpect_t, scn::v3::impl::parse_error&&)
Line
Count
Source
1483
106
        : base(unexpect, std::forward<Args>(args)...),
1484
106
          ctor_base(detail::non_default_ctor_tag_t{})
1485
106
    {
1486
106
    }
scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v3::scan_error>::expected<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
1483
174
        : base(unexpect, std::forward<Args>(args)...),
1484
174
          ctor_base(detail::non_default_ctor_tag_t{})
1485
174
    {
1486
174
    }
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v3::scan_error>::expected<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
1487
1488
    template <
1489
        typename U,
1490
        typename G,
1491
        std::enable_if_t<!(std::is_convertible_v<const U&, T> &&
1492
                           std::is_convertible_v<const G&, E>)>* = nullptr,
1493
        detail::enable_from_other<T, E, U, G, const U&, const G&>* = nullptr>
1494
    explicit constexpr expected(const expected<U, G>& other) noexcept(
1495
        std::is_nothrow_constructible_v<T, const U&> &&
1496
        std::is_nothrow_constructible_v<E, const G&>)
1497
        : base(), ctor_base(detail::non_default_ctor_tag_t{})
1498
    {
1499
        if (other.has_value()) {
1500
            this->construct(*other);
1501
        }
1502
        else {
1503
            this->construct_unexpected(other.error());
1504
        }
1505
    }
1506
    template <
1507
        typename U,
1508
        typename G,
1509
        std::enable_if_t<(std::is_convertible_v<const U&, T> &&
1510
                          std::is_convertible_v<const G&, E>)>* = nullptr,
1511
        detail::enable_from_other<T, E, U, G, const U&, const G&>* = nullptr>
1512
    constexpr expected(const expected<U, G>& other) noexcept(
1513
        std::is_nothrow_constructible_v<T, const U&> &&
1514
        std::is_nothrow_constructible_v<E, const G&>)
1515
        : base(), ctor_base(detail::non_default_ctor_tag_t{})
1516
    {
1517
        if (other.has_value()) {
1518
            this->construct(*other);
1519
        }
1520
        else {
1521
            this->construct_unexpected(other.error());
1522
        }
1523
    }
1524
1525
    template <typename U,
1526
              typename G,
1527
              std::enable_if_t<!(std::is_convertible_v<U&&, T> &&
1528
                                 std::is_convertible_v<G&&, E>)>* = nullptr,
1529
              detail::enable_from_other<T, E, U, G, U&&, G&&>* = nullptr>
1530
    explicit constexpr expected(expected<U, G>&& other) noexcept(
1531
        std::is_nothrow_constructible_v<T, U&&> &&
1532
        std::is_nothrow_constructible_v<E, G&&>)
1533
        : base(), ctor_base(detail::non_default_ctor_tag_t{})
1534
    {
1535
        if (other.has_value()) {
1536
            this->construct(std::move(*other));
1537
        }
1538
        else {
1539
            this->construct_unexpected(std::move(other.error()));
1540
        }
1541
    }
1542
    template <typename U,
1543
              typename G,
1544
              std::enable_if_t<(std::is_convertible_v<U&&, T> &&
1545
                                std::is_convertible_v<G&&, E>)>* = nullptr,
1546
              detail::enable_from_other<T, E, U, G, U&&, G&&>* = nullptr>
1547
    constexpr expected(expected<U, G>&& other) noexcept(
1548
        std::is_nothrow_constructible_v<T, U&&> &&
1549
        std::is_nothrow_constructible_v<E, G&&>)
1550
        : base(), ctor_base(detail::non_default_ctor_tag_t{})
1551
    {
1552
        if (other.has_value()) {
1553
            this->construct(std::move(*other));
1554
        }
1555
        else {
1556
            this->construct_unexpected(std::move(other.error()));
1557
        }
1558
    }
1559
1560
    template <typename U = value_type,
1561
              typename = std::enable_if_t<std::is_convertible_v<U, value_type>>>
1562
    expected& operator=(U&& val) noexcept(
1563
        noexcept(assign_value(std::forward<U>(val))))
1564
    {
1565
        assign_value(std::forward<U>(val));
1566
        return *this;
1567
    }
1568
1569
    expected& operator=(const unexpected_type& unex) noexcept(
1570
        noexcept(assign_unexpected(unex)))
1571
    {
1572
        assign_unexpected(unex);
1573
        return *this;
1574
    }
1575
    expected& operator=(unexpected_type&& unex) noexcept(
1576
        noexcept(assign_unexpected(std::move(unex))))
1577
    {
1578
        assign_unexpected(std::move(unex));
1579
        return *this;
1580
    }
1581
1582
    /// Destroys the contained value, and then initializes the expected
1583
    /// value directly in-place.
1584
    template <typename... Args,
1585
              std::enable_if_t<std::is_constructible_v<T, Args...>>* = nullptr>
1586
    decltype(auto) emplace(Args&&... args) noexcept(
1587
        std::is_nothrow_constructible_v<T, Args...>)
1588
    {
1589
        emplace_impl(std::forward<Args>(args)...);
1590
        if constexpr (!std::is_void_v<T>) {
1591
            return this->get_value();
1592
        }
1593
    }
1594
1595
    using base::has_value;
1596
    constexpr explicit operator bool() const noexcept
1597
125M
    {
1598
125M
        return has_value();
1599
125M
    }
scn::v3::expected<long, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1597
17.2M
    {
1598
17.2M
        return has_value();
1599
17.2M
    }
scn::v3::expected<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1597
1.84M
    {
1598
1.84M
        return has_value();
1599
1.84M
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1597
74.4k
    {
1598
74.4k
        return has_value();
1599
74.4k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1597
65.3k
    {
1598
65.3k
        return has_value();
1599
65.3k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1597
86.8k
    {
1598
86.8k
        return has_value();
1599
86.8k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1597
70.8k
    {
1598
70.8k
        return has_value();
1599
70.8k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long long>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1597
88.3k
    {
1598
88.3k
        return has_value();
1599
88.3k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1597
71.6k
    {
1598
71.6k
        return has_value();
1599
71.6k
    }
scn::v3::expected<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1597
1.80M
    {
1598
1.80M
        return has_value();
1599
1.80M
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1597
74.4k
    {
1598
74.4k
        return has_value();
1599
74.4k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1597
65.4k
    {
1598
65.4k
        return has_value();
1599
65.4k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1597
86.3k
    {
1598
86.3k
        return has_value();
1599
86.3k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1597
70.8k
    {
1598
70.8k
        return has_value();
1599
70.8k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1597
87.8k
    {
1598
87.8k
        return has_value();
1599
87.8k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1597
71.6k
    {
1598
71.6k
        return has_value();
1599
71.6k
    }
scn::v3::expected<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1597
2.66M
    {
1598
2.66M
        return has_value();
1599
2.66M
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1597
30.1k
    {
1598
30.1k
        return has_value();
1599
30.1k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1597
30.0k
    {
1598
30.0k
        return has_value();
1599
30.0k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1597
30.2k
    {
1598
30.2k
        return has_value();
1599
30.2k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1597
30.1k
    {
1598
30.1k
        return has_value();
1599
30.1k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1597
30.3k
    {
1598
30.3k
        return has_value();
1599
30.3k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1597
30.2k
    {
1598
30.2k
        return has_value();
1599
30.2k
    }
scn::v3::expected<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1597
1.60M
    {
1598
1.60M
        return has_value();
1599
1.60M
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1597
30.1k
    {
1598
30.1k
        return has_value();
1599
30.1k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1597
30.0k
    {
1598
30.0k
        return has_value();
1599
30.0k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1597
30.2k
    {
1598
30.2k
        return has_value();
1599
30.2k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1597
30.1k
    {
1598
30.1k
        return has_value();
1599
30.1k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1597
30.3k
    {
1598
30.3k
        return has_value();
1599
30.3k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1597
30.2k
    {
1598
30.2k
        return has_value();
1599
30.2k
    }
scn::v3::expected<std::__1::regex_constants::syntax_option_type, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1597
18.6k
    {
1598
18.6k
        return has_value();
1599
18.6k
    }
Unexecuted instantiation: scn::v3::expected<wchar_t, scn::v3::scan_error>::operator bool() const
scn::v3::expected<char const*, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1597
10.3M
    {
1598
10.3M
        return has_value();
1599
10.3M
    }
scn::v3::expected<wchar_t const*, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1597
8.51M
    {
1598
8.51M
        return has_value();
1599
8.51M
    }
scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::eof_error>::operator bool() const
Line
Count
Source
1597
3.90M
    {
1598
3.90M
        return has_value();
1599
3.90M
    }
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error>::operator bool() const
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::eof_error>::operator bool() const
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::scan_error>::operator bool() const
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, long>, scn::v3::scan_error>::operator bool() const
scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, long>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1597
2.36M
    {
1598
2.36M
        return has_value();
1599
2.36M
    }
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error>::operator bool() const
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::operator bool() const
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::scan_error>::operator bool() const
Unexecuted instantiation: scn::v3::expected<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::operator bool() const
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::scan_error>::operator bool() const
scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::parse_error>::operator bool() const
Line
Count
Source
1597
15.6M
    {
1598
15.6M
        return has_value();
1599
15.6M
    }
scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::operator bool() const
Line
Count
Source
1597
543k
    {
1598
543k
        return has_value();
1599
543k
    }
scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1597
419k
    {
1598
419k
        return has_value();
1599
419k
    }
scn::v3::expected<std::__1::tuple<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1597
61.3k
    {
1598
61.3k
        return has_value();
1599
61.3k
    }
scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1597
9.76M
    {
1598
9.76M
        return has_value();
1599
9.76M
    }
scn::v3::expected<char const*, scn::v3::impl::eof_error>::operator bool() const
Line
Count
Source
1597
2.10M
    {
1598
2.10M
        return has_value();
1599
2.10M
    }
scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::eof_error>::operator bool() const
Line
Count
Source
1597
5.72k
    {
1598
5.72k
        return has_value();
1599
5.72k
    }
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v3::impl::eof_error>::operator bool() const
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v3::scan_error>::operator bool() const
scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, long>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1597
4.08k
    {
1598
4.08k
        return has_value();
1599
4.08k
    }
scn::v3::expected<std::__1::pair<char const*, long>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1597
2.20M
    {
1598
2.20M
        return has_value();
1599
2.20M
    }
scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::parse_error>::operator bool() const
Line
Count
Source
1597
6.17k
    {
1598
6.17k
        return has_value();
1599
6.17k
    }
scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::operator bool() const
Line
Count
Source
1597
834
    {
1598
834
        return has_value();
1599
834
    }
scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1597
834
    {
1598
834
        return has_value();
1599
834
    }
scn::v3::expected<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1597
20
    {
1598
20
        return has_value();
1599
20
    }
scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1597
8.46k
    {
1598
8.46k
        return has_value();
1599
8.46k
    }
scn::v3::expected<char const*, scn::v3::impl::parse_error>::operator bool() const
Line
Count
Source
1597
7.88M
    {
1598
7.88M
        return has_value();
1599
7.88M
    }
scn::v3::expected<std::__1::pair<char const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::operator bool() const
Line
Count
Source
1597
453k
    {
1598
453k
        return has_value();
1599
453k
    }
scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<char const*>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1597
423k
    {
1598
423k
        return has_value();
1599
423k
    }
scn::v3::expected<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1597
61.5k
    {
1598
61.5k
        return has_value();
1599
61.5k
    }
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::scan_error>::operator bool() const
scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1597
1.17M
    {
1598
1.17M
        return has_value();
1599
1.17M
    }
scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1597
274
    {
1598
274
        return has_value();
1599
274
    }
scn::v3::expected<std::__1::pair<char const*, scn::v3::impl::sign_type>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1597
1.02M
    {
1598
1.02M
        return has_value();
1599
1.02M
    }
scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::eof_error>::operator bool() const
Line
Count
Source
1597
1.46M
    {
1598
1.46M
        return has_value();
1599
1.46M
    }
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error>::operator bool() const
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::eof_error>::operator bool() const
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::scan_error>::operator bool() const
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, long>, scn::v3::scan_error>::operator bool() const
scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1597
1.47M
    {
1598
1.47M
        return has_value();
1599
1.47M
    }
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error>::operator bool() const
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::operator bool() const
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::scan_error>::operator bool() const
Unexecuted instantiation: scn::v3::expected<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::operator bool() const
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::scan_error>::operator bool() const
scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::parse_error>::operator bool() const
Line
Count
Source
1597
6.71M
    {
1598
6.71M
        return has_value();
1599
6.71M
    }
scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::operator bool() const
Line
Count
Source
1597
140k
    {
1598
140k
        return has_value();
1599
140k
    }
scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1597
128k
    {
1598
128k
        return has_value();
1599
128k
    }
scn::v3::expected<std::__1::tuple<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1597
17.0k
    {
1598
17.0k
        return has_value();
1599
17.0k
    }
scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1597
6.27M
    {
1598
6.27M
        return has_value();
1599
6.27M
    }
scn::v3::expected<wchar_t const*, scn::v3::impl::eof_error>::operator bool() const
Line
Count
Source
1597
931k
    {
1598
931k
        return has_value();
1599
931k
    }
scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::eof_error>::operator bool() const
Line
Count
Source
1597
796
    {
1598
796
        return has_value();
1599
796
    }
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v3::impl::eof_error>::operator bool() const
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v3::scan_error>::operator bool() const
scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, long>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1597
1.54k
    {
1598
1.54k
        return has_value();
1599
1.54k
    }
scn::v3::expected<std::__1::pair<wchar_t const*, long>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1597
2.15M
    {
1598
2.15M
        return has_value();
1599
2.15M
    }
scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::parse_error>::operator bool() const
Line
Count
Source
1597
2.79k
    {
1598
2.79k
        return has_value();
1599
2.79k
    }
scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::operator bool() const
Line
Count
Source
1597
378
    {
1598
378
        return has_value();
1599
378
    }
scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1597
378
    {
1598
378
        return has_value();
1599
378
    }
scn::v3::expected<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1597
40
    {
1598
40
        return has_value();
1599
40
    }
scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1597
3.28k
    {
1598
3.28k
        return has_value();
1599
3.28k
    }
scn::v3::expected<wchar_t const*, scn::v3::impl::parse_error>::operator bool() const
Line
Count
Source
1597
5.57M
    {
1598
5.57M
        return has_value();
1599
5.57M
    }
scn::v3::expected<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::operator bool() const
Line
Count
Source
1597
134k
    {
1598
134k
        return has_value();
1599
134k
    }
scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1597
130k
    {
1598
130k
        return has_value();
1599
130k
    }
scn::v3::expected<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1597
17.0k
    {
1598
17.0k
        return has_value();
1599
17.0k
    }
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::scan_error>::operator bool() const
scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1597
557k
    {
1598
557k
        return has_value();
1599
557k
    }
scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1597
116
    {
1598
116
        return has_value();
1599
116
    }
scn::v3::expected<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1597
558k
    {
1598
558k
        return has_value();
1599
558k
    }
scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v3::impl::eof_error>::operator bool() const
Line
Count
Source
1597
254
    {
1598
254
        return has_value();
1599
254
    }
scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1597
1.98k
    {
1598
1.98k
        return has_value();
1599
1.98k
    }
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v3::impl::eof_error>::operator bool() const
scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1597
754
    {
1598
754
        return has_value();
1599
754
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, float>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1597
338k
    {
1598
338k
        return has_value();
1599
338k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, double>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1597
348k
    {
1598
348k
        return has_value();
1599
348k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long double>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1597
355k
    {
1598
355k
        return has_value();
1599
355k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, float>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1597
385k
    {
1598
385k
        return has_value();
1599
385k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, double>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1597
401k
    {
1598
401k
        return has_value();
1599
401k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long double>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1597
407k
    {
1598
407k
        return has_value();
1599
407k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, float>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1597
172k
    {
1598
172k
        return has_value();
1599
172k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1597
192k
    {
1598
192k
        return has_value();
1599
192k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long double>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1597
196k
    {
1598
196k
        return has_value();
1599
196k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, float>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1597
172k
    {
1598
172k
        return has_value();
1599
172k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, double>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1597
192k
    {
1598
192k
        return has_value();
1599
192k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long double>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1597
195k
    {
1598
195k
        return has_value();
1599
195k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1597
123k
    {
1598
123k
        return has_value();
1599
123k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1597
123k
    {
1598
123k
        return has_value();
1599
123k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1597
151k
    {
1598
151k
        return has_value();
1599
151k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1597
860k
    {
1598
860k
        return has_value();
1599
860k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1597
860k
    {
1598
860k
        return has_value();
1599
860k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1597
860k
    {
1598
860k
        return has_value();
1599
860k
    }
1600
1601
    /// Get the unexpected value, if one is contained in *this
1602
    constexpr error_type& error() & noexcept
1603
17.1M
    {
1604
17.1M
        SCN_EXPECT(!has_value());
1605
17.1M
        return this->get_unexpected().error();
1606
17.1M
    }
scn::v3::expected<long, scn::v3::scan_error>::error() &
Line
Count
Source
1603
1.74M
    {
1604
1.74M
        SCN_EXPECT(!has_value());
1605
1.74M
        return this->get_unexpected().error();
1606
1.74M
    }
scn::v3::expected<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v3::scan_error>::error() &
Line
Count
Source
1603
300k
    {
1604
300k
        SCN_EXPECT(!has_value());
1605
300k
        return this->get_unexpected().error();
1606
300k
    }
scn::v3::expected<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v3::scan_error>::error() &
Line
Count
Source
1603
189k
    {
1604
189k
        SCN_EXPECT(!has_value());
1605
189k
        return this->get_unexpected().error();
1606
189k
    }
scn::v3::expected<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v3::scan_error>::error() &
Line
Count
Source
1603
605k
    {
1604
605k
        SCN_EXPECT(!has_value());
1605
605k
        return this->get_unexpected().error();
1606
605k
    }
scn::v3::expected<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v3::scan_error>::error() &
Line
Count
Source
1603
378k
    {
1604
378k
        SCN_EXPECT(!has_value());
1605
378k
        return this->get_unexpected().error();
1606
378k
    }
Unexecuted instantiation: scn::v3::expected<std::__1::regex_constants::syntax_option_type, scn::v3::scan_error>::error() &
Unexecuted instantiation: scn::v3::expected<wchar_t, scn::v3::scan_error>::error() &
scn::v3::expected<char const*, scn::v3::scan_error>::error() &
Line
Count
Source
1603
532k
    {
1604
532k
        SCN_EXPECT(!has_value());
1605
532k
        return this->get_unexpected().error();
1606
532k
    }
scn::v3::expected<wchar_t const*, scn::v3::scan_error>::error() &
Line
Count
Source
1603
921k
    {
1604
921k
        SCN_EXPECT(!has_value());
1605
921k
        return this->get_unexpected().error();
1606
921k
    }
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::scan_error>::error() &
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, long>, scn::v3::scan_error>::error() &
scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, long>, scn::v3::scan_error>::error() &
Line
Count
Source
1603
24.9k
    {
1604
24.9k
        SCN_EXPECT(!has_value());
1605
24.9k
        return this->get_unexpected().error();
1606
24.9k
    }
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error>::error() &
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error>::error() &
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::error() &
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::scan_error>::error() &
Unexecuted instantiation: scn::v3::expected<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::error() &
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::scan_error>::error() &
scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::eof_error>::error() &
Line
Count
Source
1603
19.4k
    {
1604
19.4k
        SCN_EXPECT(!has_value());
1605
19.4k
        return this->get_unexpected().error();
1606
19.4k
    }
scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::parse_error>::error() &
Line
Count
Source
1603
3.70M
    {
1604
3.70M
        SCN_EXPECT(!has_value());
1605
3.70M
        return this->get_unexpected().error();
1606
3.70M
    }
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::error() &
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, scn::v3::scan_error>::error() &
scn::v3::expected<std::__1::tuple<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::error() &
Line
Count
Source
1603
3.07k
    {
1604
3.07k
        SCN_EXPECT(!has_value());
1605
3.07k
        return this->get_unexpected().error();
1606
3.07k
    }
scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::scan_error>::error() &
Line
Count
Source
1603
448k
    {
1604
448k
        SCN_EXPECT(!has_value());
1605
448k
        return this->get_unexpected().error();
1606
448k
    }
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v3::scan_error>::error() &
scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, long>, scn::v3::scan_error>::error() &
Line
Count
Source
1603
174
    {
1604
174
        SCN_EXPECT(!has_value());
1605
174
        return this->get_unexpected().error();
1606
174
    }
scn::v3::expected<std::__1::pair<char const*, long>, scn::v3::scan_error>::error() &
Line
Count
Source
1603
21.3k
    {
1604
21.3k
        SCN_EXPECT(!has_value());
1605
21.3k
        return this->get_unexpected().error();
1606
21.3k
    }
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::eof_error>::error() &
scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::parse_error>::error() &
Line
Count
Source
1603
2.24k
    {
1604
2.24k
        SCN_EXPECT(!has_value());
1605
2.24k
        return this->get_unexpected().error();
1606
2.24k
    }
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::error() &
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v3::scan_error>::error() &
scn::v3::expected<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::error() &
Line
Count
Source
1603
20
    {
1604
20
        SCN_EXPECT(!has_value());
1605
20
        return this->get_unexpected().error();
1606
20
    }
scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::scan_error>::error() &
Line
Count
Source
1603
5.10k
    {
1604
5.10k
        SCN_EXPECT(!has_value());
1605
5.10k
        return this->get_unexpected().error();
1606
5.10k
    }
scn::v3::expected<char const*, scn::v3::impl::eof_error>::error() &
Line
Count
Source
1603
5.11k
    {
1604
5.11k
        SCN_EXPECT(!has_value());
1605
5.11k
        return this->get_unexpected().error();
1606
5.11k
    }
scn::v3::expected<char const*, scn::v3::impl::parse_error>::error() &
Line
Count
Source
1603
3.15M
    {
1604
3.15M
        SCN_EXPECT(!has_value());
1605
3.15M
        return this->get_unexpected().error();
1606
3.15M
    }
Unexecuted instantiation: scn::v3::expected<std::__1::pair<char const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::error() &
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<char const*>, scn::v3::scan_error>::error() &
scn::v3::expected<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::error() &
Line
Count
Source
1603
3.27k
    {
1604
3.27k
        SCN_EXPECT(!has_value());
1605
3.27k
        return this->get_unexpected().error();
1606
3.27k
    }
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::scan_error>::error() &
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::scan_error>::error() &
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, scn::v3::scan_error>::error() &
Unexecuted instantiation: scn::v3::expected<std::__1::pair<char const*, scn::v3::impl::sign_type>, scn::v3::scan_error>::error() &
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::scan_error>::error() &
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, long>, scn::v3::scan_error>::error() &
scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>, scn::v3::scan_error>::error() &
Line
Count
Source
1603
5.38k
    {
1604
5.38k
        SCN_EXPECT(!has_value());
1605
5.38k
        return this->get_unexpected().error();
1606
5.38k
    }
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error>::error() &
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error>::error() &
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::error() &
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::scan_error>::error() &
Unexecuted instantiation: scn::v3::expected<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::error() &
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::scan_error>::error() &
scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::eof_error>::error() &
Line
Count
Source
1603
2.11k
    {
1604
2.11k
        SCN_EXPECT(!has_value());
1605
2.11k
        return this->get_unexpected().error();
1606
2.11k
    }
scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::parse_error>::error() &
Line
Count
Source
1603
2.04M
    {
1604
2.04M
        SCN_EXPECT(!has_value());
1605
2.04M
        return this->get_unexpected().error();
1606
2.04M
    }
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::error() &
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v3::scan_error>::error() &
scn::v3::expected<std::__1::tuple<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::error() &
Line
Count
Source
1603
16.4k
    {
1604
16.4k
        SCN_EXPECT(!has_value());
1605
16.4k
        return this->get_unexpected().error();
1606
16.4k
    }
scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::scan_error>::error() &
Line
Count
Source
1603
1.01M
    {
1604
1.01M
        SCN_EXPECT(!has_value());
1605
1.01M
        return this->get_unexpected().error();
1606
1.01M
    }
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v3::scan_error>::error() &
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, long>, scn::v3::scan_error>::error() &
scn::v3::expected<std::__1::pair<wchar_t const*, long>, scn::v3::scan_error>::error() &
Line
Count
Source
1603
6.50k
    {
1604
6.50k
        SCN_EXPECT(!has_value());
1605
6.50k
        return this->get_unexpected().error();
1606
6.50k
    }
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::eof_error>::error() &
scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::parse_error>::error() &
Line
Count
Source
1603
996
    {
1604
996
        SCN_EXPECT(!has_value());
1605
996
        return this->get_unexpected().error();
1606
996
    }
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::error() &
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v3::scan_error>::error() &
scn::v3::expected<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::error() &
Line
Count
Source
1603
40
    {
1604
40
        SCN_EXPECT(!has_value());
1605
40
        return this->get_unexpected().error();
1606
40
    }
scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::scan_error>::error() &
Line
Count
Source
1603
1.89k
    {
1604
1.89k
        SCN_EXPECT(!has_value());
1605
1.89k
        return this->get_unexpected().error();
1606
1.89k
    }
scn::v3::expected<wchar_t const*, scn::v3::impl::eof_error>::error() &
Line
Count
Source
1603
592
    {
1604
592
        SCN_EXPECT(!has_value());
1605
592
        return this->get_unexpected().error();
1606
592
    }
scn::v3::expected<wchar_t const*, scn::v3::impl::parse_error>::error() &
Line
Count
Source
1603
1.95M
    {
1604
1.95M
        SCN_EXPECT(!has_value());
1605
1.95M
        return this->get_unexpected().error();
1606
1.95M
    }
Unexecuted instantiation: scn::v3::expected<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::error() &
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, scn::v3::scan_error>::error() &
scn::v3::expected<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::error() &
Line
Count
Source
1603
16.4k
    {
1604
16.4k
        SCN_EXPECT(!has_value());
1605
16.4k
        return this->get_unexpected().error();
1606
16.4k
    }
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::scan_error>::error() &
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::scan_error>::error() &
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, scn::v3::scan_error>::error() &
Unexecuted instantiation: scn::v3::expected<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, scn::v3::scan_error>::error() &
scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v3::scan_error>::error() &
Line
Count
Source
1603
174
    {
1604
174
        SCN_EXPECT(!has_value());
1605
174
        return this->get_unexpected().error();
1606
174
    }
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v3::scan_error>::error() &
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::eof_error>::error() &
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error>::error() &
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, scn::v3::impl::eof_error>::error() &
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v3::impl::eof_error>::error() &
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v3::impl::eof_error>::error() &
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<char const*>, scn::v3::impl::eof_error>::error() &
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::eof_error>::error() &
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error>::error() &
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v3::impl::eof_error>::error() &
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v3::impl::eof_error>::error() &
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v3::impl::eof_error>::error() &
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, scn::v3::impl::eof_error>::error() &
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v3::impl::eof_error>::error() &
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v3::impl::eof_error>::error() &
1607
    constexpr const error_type& error() const& noexcept
1608
0
    {
1609
0
        SCN_EXPECT(!has_value());
1610
0
        return this->get_unexpected().error();
1611
0
    }
Unexecuted instantiation: scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v3::expected<char const*, scn::v3::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error>::error() const &
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, scn::v3::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::parse_error>::error() const &
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v3::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v3::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::parse_error>::error() const &
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<char const*>, scn::v3::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v3::expected<std::__1::pair<char const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v3::expected<char const*, scn::v3::impl::parse_error>::error() const &
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error>::error() const &
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v3::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::parse_error>::error() const &
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v3::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v3::expected<wchar_t const*, scn::v3::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v3::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::parse_error>::error() const &
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, scn::v3::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v3::expected<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v3::expected<wchar_t const*, scn::v3::impl::parse_error>::error() const &
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v3::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v3::impl::eof_error>::error() const &
1612
    constexpr error_type&& error() && noexcept
1613
416k
    {
1614
416k
        SCN_EXPECT(!has_value());
1615
416k
        return std::move(this->get_unexpected().error());
1616
416k
    }
scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::eof_error>::error() &&
Line
Count
Source
1613
80.4k
    {
1614
80.4k
        SCN_EXPECT(!has_value());
1615
80.4k
        return std::move(this->get_unexpected().error());
1616
80.4k
    }
scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::eof_error>::error() &&
Line
Count
Source
1613
81.8k
    {
1614
81.8k
        SCN_EXPECT(!has_value());
1615
81.8k
        return std::move(this->get_unexpected().error());
1616
81.8k
    }
scn::v3::expected<char const*, scn::v3::impl::eof_error>::error() &&
Line
Count
Source
1613
30.6k
    {
1614
30.6k
        SCN_EXPECT(!has_value());
1615
30.6k
        return std::move(this->get_unexpected().error());
1616
30.6k
    }
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error>::error() &&
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, scn::v3::impl::eof_error>::error() &&
scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::parse_error>::error() &&
Line
Count
Source
1613
29.1k
    {
1614
29.1k
        SCN_EXPECT(!has_value());
1615
29.1k
        return std::move(this->get_unexpected().error());
1616
29.1k
    }
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v3::impl::eof_error>::error() &&
scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::eof_error>::error() &&
Line
Count
Source
1613
316
    {
1614
316
        SCN_EXPECT(!has_value());
1615
316
        return std::move(this->get_unexpected().error());
1616
316
    }
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v3::impl::eof_error>::error() &&
scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::parse_error>::error() &&
Line
Count
Source
1613
814
    {
1614
814
        SCN_EXPECT(!has_value());
1615
814
        return std::move(this->get_unexpected().error());
1616
814
    }
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<char const*>, scn::v3::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v3::expected<std::__1::pair<char const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error>::error() &&
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v3::impl::eof_error>::error() &&
scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::parse_error>::error() &&
Line
Count
Source
1613
107k
    {
1614
107k
        SCN_EXPECT(!has_value());
1615
107k
        return std::move(this->get_unexpected().error());
1616
107k
    }
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v3::impl::eof_error>::error() &&
scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::eof_error>::error() &&
Line
Count
Source
1613
154
    {
1614
154
        SCN_EXPECT(!has_value());
1615
154
        return std::move(this->get_unexpected().error());
1616
154
    }
scn::v3::expected<wchar_t const*, scn::v3::impl::eof_error>::error() &&
Line
Count
Source
1613
84.8k
    {
1614
84.8k
        SCN_EXPECT(!has_value());
1615
84.8k
        return std::move(this->get_unexpected().error());
1616
84.8k
    }
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v3::impl::eof_error>::error() &&
scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::parse_error>::error() &&
Line
Count
Source
1613
338
    {
1614
338
        SCN_EXPECT(!has_value());
1615
338
        return std::move(this->get_unexpected().error());
1616
338
    }
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, scn::v3::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v3::expected<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::error() &&
scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v3::impl::eof_error>::error() &&
Line
Count
Source
1613
174
    {
1614
174
        SCN_EXPECT(!has_value());
1615
174
        return std::move(this->get_unexpected().error());
1616
174
    }
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v3::impl::eof_error>::error() &&
1617
    constexpr const error_type&& error() const&& noexcept
1618
    {
1619
        SCN_EXPECT(!has_value());
1620
        return std::move(this->get_unexpected().error());
1621
    }
1622
1623
    /// Get the expected value, if one is contained in *this
1624
    template <typename U = T, std::enable_if_t<!std::is_void_v<U>>* = nullptr>
1625
    constexpr U& value() & noexcept
1626
96.3M
    {
1627
96.3M
        SCN_EXPECT(has_value());
1628
96.3M
        return this->get_value();
1629
96.3M
    }
_ZNR3scn2v38expectedIlNS0_10scan_errorEE5valueIlTnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERS7_v
Line
Count
Source
1626
14.9M
    {
1627
14.9M
        SCN_EXPECT(has_value());
1628
14.9M
        return this->get_value();
1629
14.9M
    }
_ZNR3scn2v38expectedINS0_6ranges6detail9subrange_8subrangeIPKcS7_EENS0_10scan_errorEE5valueIS8_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSE_v
Line
Count
Source
1626
1.54M
    {
1627
1.54M
        SCN_EXPECT(has_value());
1628
1.54M
        return this->get_value();
1629
1.54M
    }
_ZNR3scn2v38expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJaEEENS0_10scan_errorEE5valueISA_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSG_v
Line
Count
Source
1626
59.6k
    {
1627
59.6k
        SCN_EXPECT(has_value());
1628
59.6k
        return this->get_value();
1629
59.6k
    }
_ZNR3scn2v38expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJhEEENS0_10scan_errorEE5valueISA_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSG_v
Line
Count
Source
1626
50.5k
    {
1627
50.5k
        SCN_EXPECT(has_value());
1628
50.5k
        return this->get_value();
1629
50.5k
    }
_ZNR3scn2v38expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJiEEENS0_10scan_errorEE5valueISA_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSG_v
Line
Count
Source
1626
72.0k
    {
1627
72.0k
        SCN_EXPECT(has_value());
1628
72.0k
        return this->get_value();
1629
72.0k
    }
_ZNR3scn2v38expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJjEEENS0_10scan_errorEE5valueISA_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSG_v
Line
Count
Source
1626
56.0k
    {
1627
56.0k
        SCN_EXPECT(has_value());
1628
56.0k
        return this->get_value();
1629
56.0k
    }
_ZNR3scn2v38expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJxEEENS0_10scan_errorEE5valueISA_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSG_v
Line
Count
Source
1626
73.5k
    {
1627
73.5k
        SCN_EXPECT(has_value());
1628
73.5k
        return this->get_value();
1629
73.5k
    }
_ZNR3scn2v38expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJyEEENS0_10scan_errorEE5valueISA_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSG_v
Line
Count
Source
1626
56.7k
    {
1627
56.7k
        SCN_EXPECT(has_value());
1628
56.7k
        return this->get_value();
1629
56.7k
    }
_ZNR3scn2v38expectedINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS8_PKS9_lLl4096EEESD_EENS0_10scan_errorEE5valueISE_TnPNS6_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSJ_v
Line
Count
Source
1626
1.61M
    {
1627
1.61M
        SCN_EXPECT(has_value());
1628
1.61M
        return this->get_value();
1629
1.61M
    }
_ZNR3scn2v38expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEJaEEENS0_10scan_errorEE5valueISG_TnPNS7_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSL_v
Line
Count
Source
1626
59.6k
    {
1627
59.6k
        SCN_EXPECT(has_value());
1628
59.6k
        return this->get_value();
1629
59.6k
    }
_ZNR3scn2v38expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEJhEEENS0_10scan_errorEE5valueISG_TnPNS7_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSL_v
Line
Count
Source
1626
50.5k
    {
1627
50.5k
        SCN_EXPECT(has_value());
1628
50.5k
        return this->get_value();
1629
50.5k
    }
_ZNR3scn2v38expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEJiEEENS0_10scan_errorEE5valueISG_TnPNS7_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSL_v
Line
Count
Source
1626
71.5k
    {
1627
71.5k
        SCN_EXPECT(has_value());
1628
71.5k
        return this->get_value();
1629
71.5k
    }
_ZNR3scn2v38expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEJjEEENS0_10scan_errorEE5valueISG_TnPNS7_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSL_v
Line
Count
Source
1626
56.0k
    {
1627
56.0k
        SCN_EXPECT(has_value());
1628
56.0k
        return this->get_value();
1629
56.0k
    }
_ZNR3scn2v38expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEJxEEENS0_10scan_errorEE5valueISG_TnPNS7_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSL_v
Line
Count
Source
1626
72.9k
    {
1627
72.9k
        SCN_EXPECT(has_value());
1628
72.9k
        return this->get_value();
1629
72.9k
    }
_ZNR3scn2v38expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEJyEEENS0_10scan_errorEE5valueISG_TnPNS7_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSL_v
Line
Count
Source
1626
56.8k
    {
1627
56.8k
        SCN_EXPECT(has_value());
1628
56.8k
        return this->get_value();
1629
56.8k
    }
_ZNR3scn2v38expectedINS0_6ranges6detail9subrange_8subrangeIPKwS7_EENS0_10scan_errorEE5valueIS8_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSE_v
Line
Count
Source
1626
2.05M
    {
1627
2.05M
        SCN_EXPECT(has_value());
1628
2.05M
        return this->get_value();
1629
2.05M
    }
_ZNR3scn2v38expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJaEEENS0_10scan_errorEE5valueISA_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSG_v
Line
Count
Source
1626
484
    {
1627
484
        SCN_EXPECT(has_value());
1628
484
        return this->get_value();
1629
484
    }
_ZNR3scn2v38expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJhEEENS0_10scan_errorEE5valueISA_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSG_v
Line
Count
Source
1626
411
    {
1627
411
        SCN_EXPECT(has_value());
1628
411
        return this->get_value();
1629
411
    }
_ZNR3scn2v38expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJiEEENS0_10scan_errorEE5valueISA_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSG_v
Line
Count
Source
1626
600
    {
1627
600
        SCN_EXPECT(has_value());
1628
600
        return this->get_value();
1629
600
    }
_ZNR3scn2v38expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJjEEENS0_10scan_errorEE5valueISA_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSG_v
Line
Count
Source
1626
475
    {
1627
475
        SCN_EXPECT(has_value());
1628
475
        return this->get_value();
1629
475
    }
_ZNR3scn2v38expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJxEEENS0_10scan_errorEE5valueISA_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSG_v
Line
Count
Source
1626
717
    {
1627
717
        SCN_EXPECT(has_value());
1628
717
        return this->get_value();
1629
717
    }
_ZNR3scn2v38expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJyEEENS0_10scan_errorEE5valueISA_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSG_v
Line
Count
Source
1626
565
    {
1627
565
        SCN_EXPECT(has_value());
1628
565
        return this->get_value();
1629
565
    }
_ZNR3scn2v38expectedINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRS8_PKS9_lLl1024EEESD_EENS0_10scan_errorEE5valueISE_TnPNS6_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSJ_v
Line
Count
Source
1626
1.22M
    {
1627
1.22M
        SCN_EXPECT(has_value());
1628
1.22M
        return this->get_value();
1629
1.22M
    }
_ZNR3scn2v38expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRS9_PKSA_lLl1024EEESE_EEJaEEENS0_10scan_errorEE5valueISG_TnPNS7_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSL_v
Line
Count
Source
1626
484
    {
1627
484
        SCN_EXPECT(has_value());
1628
484
        return this->get_value();
1629
484
    }
_ZNR3scn2v38expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRS9_PKSA_lLl1024EEESE_EEJhEEENS0_10scan_errorEE5valueISG_TnPNS7_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSL_v
Line
Count
Source
1626
411
    {
1627
411
        SCN_EXPECT(has_value());
1628
411
        return this->get_value();
1629
411
    }
_ZNR3scn2v38expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRS9_PKSA_lLl1024EEESE_EEJiEEENS0_10scan_errorEE5valueISG_TnPNS7_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSL_v
Line
Count
Source
1626
600
    {
1627
600
        SCN_EXPECT(has_value());
1628
600
        return this->get_value();
1629
600
    }
_ZNR3scn2v38expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRS9_PKSA_lLl1024EEESE_EEJjEEENS0_10scan_errorEE5valueISG_TnPNS7_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSL_v
Line
Count
Source
1626
475
    {
1627
475
        SCN_EXPECT(has_value());
1628
475
        return this->get_value();
1629
475
    }
_ZNR3scn2v38expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRS9_PKSA_lLl1024EEESE_EEJxEEENS0_10scan_errorEE5valueISG_TnPNS7_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSL_v
Line
Count
Source
1626
717
    {
1627
717
        SCN_EXPECT(has_value());
1628
717
        return this->get_value();
1629
717
    }
_ZNR3scn2v38expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRS9_PKSA_lLl1024EEESE_EEJyEEENS0_10scan_errorEE5valueISG_TnPNS7_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSL_v
Line
Count
Source
1626
565
    {
1627
565
        SCN_EXPECT(has_value());
1628
565
        return this->get_value();
1629
565
    }
_ZNR3scn2v38expectedINSt3__115regex_constants18syntax_option_typeENS0_10scan_errorEE5valueIS4_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERS9_v
Line
Count
Source
1626
18.6k
    {
1627
18.6k
        SCN_EXPECT(has_value());
1628
18.6k
        return this->get_value();
1629
18.6k
    }
Unexecuted instantiation: _ZNR3scn2v38expectedIwNS0_10scan_errorEE5valueIwTnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERS7_v
_ZNR3scn2v38expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl9eof_errorEE5valueIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSC_v
Line
Count
Source
1626
5.91M
    {
1627
5.91M
        SCN_EXPECT(has_value());
1628
5.91M
        return this->get_value();
1629
5.91M
    }
_ZNR3scn2v38expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl9eof_errorEE5valueIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSC_v
Line
Count
Source
1626
3.04M
    {
1627
3.04M
        SCN_EXPECT(has_value());
1628
3.04M
        return this->get_value();
1629
3.04M
    }
_ZNR3scn2v38expectedIPKcNS0_10scan_errorEE5valueIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERS9_v
Line
Count
Source
1626
6.80M
    {
1627
6.80M
        SCN_EXPECT(has_value());
1628
6.80M
        return this->get_value();
1629
6.80M
    }
_ZNR3scn2v38expectedIPKwNS0_10scan_errorEE5valueIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERS9_v
Line
Count
Source
1626
5.99M
    {
1627
5.99M
        SCN_EXPECT(has_value());
1628
5.99M
        return this->get_value();
1629
5.99M
    }
_ZNR3scn2v38expectedIPKcNS0_4impl9eof_errorEE5valueIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSA_v
Line
Count
Source
1626
2.15M
    {
1627
2.15M
        SCN_EXPECT(has_value());
1628
2.15M
        return this->get_value();
1629
2.15M
    }
Unexecuted instantiation: _ZNR3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_9eof_errorEE5valueISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSH_v
Unexecuted instantiation: _ZNR3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_INS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_15take_width_viewINS9_6detail9subrange_8subrangeIS8_SA_EEE8sentinelILb1EEEEENS2_9eof_errorEE5valueISK_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSQ_v
Unexecuted instantiation: _ZNR3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_INS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_15take_width_viewINS9_6detail9subrange_8subrangeIS8_SA_EEE8sentinelILb1EEEEENS0_10scan_errorEE5valueISK_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSQ_v
Unexecuted instantiation: _ZNR3scn2v38expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEElEENS0_10scan_errorEE5valueISE_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSJ_v
_ZNR3scn2v38expectedINSt3__14pairINS0_6detail17basic_scan_bufferIcE16forward_iteratorElEENS0_10scan_errorEE5valueIS8_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v
Line
Count
Source
1626
2.33M
    {
1627
2.33M
        SCN_EXPECT(has_value());
1628
2.33M
        return this->get_value();
1629
2.33M
    }
Unexecuted instantiation: _ZNR3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEE5valueISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSH_v
Unexecuted instantiation: _ZNR3scn2v38expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9sign_typeEEENS4_9eof_errorEE5valueISF_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSK_v
Unexecuted instantiation: _ZNR3scn2v38expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS2_9eof_errorEE5valueISD_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSJ_v
Unexecuted instantiation: _ZNR3scn2v38expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS0_10scan_errorEE5valueISD_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSJ_v
Unexecuted instantiation: _ZNR3scn2v38expectedINSt3__15tupleIJNS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_12basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEESJ_EEENS0_10scan_errorEE5valueISK_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSP_v
Unexecuted instantiation: _ZNR3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS0_10scan_errorEE5valueISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSH_v
_ZNR3scn2v38expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl11parse_errorEE5valueIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSC_v
Line
Count
Source
1626
7.21M
    {
1627
7.21M
        SCN_EXPECT(has_value());
1628
7.21M
        return this->get_value();
1629
7.21M
    }
_ZNR3scn2v38expectedINSt3__14pairINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl9sign_typeEEENS8_9eof_errorEE5valueISA_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSF_v
Line
Count
Source
1626
1.71M
    {
1627
1.71M
        SCN_EXPECT(has_value());
1628
1.71M
        return this->get_value();
1629
1.71M
    }
_ZNR3scn2v38expectedINS0_4impl27parse_integer_prefix_resultINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEENS2_9eof_errorEE5valueIS8_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSE_v
Line
Count
Source
1626
419k
    {
1627
419k
        SCN_EXPECT(has_value());
1628
419k
        return this->get_value();
1629
419k
    }
_ZNR3scn2v38expectedINS0_4impl27parse_integer_prefix_resultINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEENS0_10scan_errorEE5valueIS8_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSE_v
Line
Count
Source
1626
419k
    {
1627
419k
        SCN_EXPECT(has_value());
1628
419k
        return this->get_value();
1629
419k
    }
_ZNR3scn2v38expectedINSt3__15tupleIJNS0_6detail17basic_scan_bufferIcE16forward_iteratorENS2_12basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEESD_EEENS0_10scan_errorEE5valueISE_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSJ_v
Line
Count
Source
1626
58.2k
    {
1627
58.2k
        SCN_EXPECT(has_value());
1628
58.2k
        return this->get_value();
1629
58.2k
    }
_ZNR3scn2v38expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_10scan_errorEE5valueIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSB_v
Line
Count
Source
1626
5.93M
    {
1627
5.93M
        SCN_EXPECT(has_value());
1628
5.93M
        return this->get_value();
1629
5.93M
    }
_ZNR3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS2_9eof_errorEE5valueIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v
Line
Count
Source
1626
6.39k
    {
1627
6.39k
        SCN_EXPECT(has_value());
1628
6.39k
        return this->get_value();
1629
6.39k
    }
Unexecuted instantiation: _ZNR3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKcS6_EENS2_15take_width_viewINSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEE8sentinelILb1EEEEENS2_9eof_errorEE5valueISH_TnPNS9_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSM_v
Unexecuted instantiation: _ZNR3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKcS6_EENS2_15take_width_viewINSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEE8sentinelILb1EEEEENS0_10scan_errorEE5valueISH_TnPNS9_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSM_v
_ZNR3scn2v38expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EElEENS0_10scan_errorEE5valueISA_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSF_v
Line
Count
Source
1626
3.91k
    {
1627
3.91k
        SCN_EXPECT(has_value());
1628
3.91k
        return this->get_value();
1629
3.91k
    }
_ZNR3scn2v38expectedINSt3__14pairIPKclEENS0_10scan_errorEE5valueIS6_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSB_v
Line
Count
Source
1626
2.18M
    {
1627
2.18M
        SCN_EXPECT(has_value());
1628
2.18M
        return this->get_value();
1629
2.18M
    }
_ZNR3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS2_11parse_errorEE5valueIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v
Line
Count
Source
1626
1.49k
    {
1627
1.49k
        SCN_EXPECT(has_value());
1628
1.49k
        return this->get_value();
1629
1.49k
    }
_ZNR3scn2v38expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS4_9sign_typeEEENS4_9eof_errorEE5valueISB_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSG_v
Line
Count
Source
1626
1.10k
    {
1627
1.10k
        SCN_EXPECT(has_value());
1628
1.10k
        return this->get_value();
1629
1.10k
    }
_ZNR3scn2v38expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEENS2_9eof_errorEE5valueIS9_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSF_v
Line
Count
Source
1626
834
    {
1627
834
        SCN_EXPECT(has_value());
1628
834
        return this->get_value();
1629
834
    }
_ZNR3scn2v38expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEENS0_10scan_errorEE5valueIS9_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSF_v
Line
Count
Source
1626
834
    {
1627
834
        SCN_EXPECT(has_value());
1628
834
        return this->get_value();
1629
834
    }
Unexecuted instantiation: _ZNR3scn2v38expectedINSt3__15tupleIJNS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS2_12basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEESF_EEENS0_10scan_errorEE5valueISG_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSL_v
_ZNR3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS0_10scan_errorEE5valueIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v
Line
Count
Source
1626
2.81k
    {
1627
2.81k
        SCN_EXPECT(has_value());
1628
2.81k
        return this->get_value();
1629
2.81k
    }
_ZNR3scn2v38expectedIPKcNS0_4impl11parse_errorEE5valueIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSA_v
Line
Count
Source
1626
1.23M
    {
1627
1.23M
        SCN_EXPECT(has_value());
1628
1.23M
        return this->get_value();
1629
1.23M
    }
_ZNR3scn2v38expectedINSt3__14pairIPKcNS0_4impl9sign_typeEEENS6_9eof_errorEE5valueIS8_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v
Line
Count
Source
1626
1.48M
    {
1627
1.48M
        SCN_EXPECT(has_value());
1628
1.48M
        return this->get_value();
1629
1.48M
    }
_ZNR3scn2v38expectedINS0_4impl27parse_integer_prefix_resultIPKcEENS2_9eof_errorEE5valueIS6_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSC_v
Line
Count
Source
1626
423k
    {
1627
423k
        SCN_EXPECT(has_value());
1628
423k
        return this->get_value();
1629
423k
    }
_ZNR3scn2v38expectedINS0_4impl27parse_integer_prefix_resultIPKcEENS0_10scan_errorEE5valueIS6_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSC_v
Line
Count
Source
1626
423k
    {
1627
423k
        SCN_EXPECT(has_value());
1628
423k
        return this->get_value();
1629
423k
    }
_ZNR3scn2v38expectedINSt3__15tupleIJPKcNS2_12basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEESB_EEENS0_10scan_errorEE5valueISC_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSH_v
Line
Count
Source
1626
58.2k
    {
1627
58.2k
        SCN_EXPECT(has_value());
1628
58.2k
        return this->get_value();
1629
58.2k
    }
Unexecuted instantiation: _ZNR3scn2v38expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9sign_typeEEENS0_10scan_errorEE5valueISF_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSK_v
_ZNR3scn2v38expectedINSt3__14pairINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl9sign_typeEEENS0_10scan_errorEE5valueISA_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSF_v
Line
Count
Source
1626
1.17M
    {
1627
1.17M
        SCN_EXPECT(has_value());
1628
1.17M
        return this->get_value();
1629
1.17M
    }
_ZNR3scn2v38expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS4_9sign_typeEEENS0_10scan_errorEE5valueISB_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSG_v
Line
Count
Source
1626
274
    {
1627
274
        SCN_EXPECT(has_value());
1628
274
        return this->get_value();
1629
274
    }
_ZNR3scn2v38expectedINSt3__14pairIPKcNS0_4impl9sign_typeEEENS0_10scan_errorEE5valueIS8_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v
Line
Count
Source
1626
1.02M
    {
1627
1.02M
        SCN_EXPECT(has_value());
1628
1.02M
        return this->get_value();
1629
1.02M
    }
Unexecuted instantiation: _ZNR3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_9eof_errorEE5valueISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSH_v
Unexecuted instantiation: _ZNR3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_INS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_15take_width_viewINS9_6detail9subrange_8subrangeIS8_SA_EEE8sentinelILb1EEEEENS2_9eof_errorEE5valueISK_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSQ_v
Unexecuted instantiation: _ZNR3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_INS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_15take_width_viewINS9_6detail9subrange_8subrangeIS8_SA_EEE8sentinelILb1EEEEENS0_10scan_errorEE5valueISK_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSQ_v
Unexecuted instantiation: _ZNR3scn2v38expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEElEENS0_10scan_errorEE5valueISE_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSJ_v
_ZNR3scn2v38expectedINSt3__14pairINS0_6detail17basic_scan_bufferIwE16forward_iteratorElEENS0_10scan_errorEE5valueIS8_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v
Line
Count
Source
1626
1.46M
    {
1627
1.46M
        SCN_EXPECT(has_value());
1628
1.46M
        return this->get_value();
1629
1.46M
    }
Unexecuted instantiation: _ZNR3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEE5valueISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSH_v
Unexecuted instantiation: _ZNR3scn2v38expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9sign_typeEEENS4_9eof_errorEE5valueISF_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSK_v
Unexecuted instantiation: _ZNR3scn2v38expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS2_9eof_errorEE5valueISD_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSJ_v
Unexecuted instantiation: _ZNR3scn2v38expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS0_10scan_errorEE5valueISD_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSJ_v
Unexecuted instantiation: _ZNR3scn2v38expectedINSt3__15tupleIJNS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_12basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEENSE_IcNSF_IcEENSH_IcEEEEEEENS0_10scan_errorEE5valueISN_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSS_v
Unexecuted instantiation: _ZNR3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS0_10scan_errorEE5valueISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSH_v
_ZNR3scn2v38expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl11parse_errorEE5valueIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSC_v
Line
Count
Source
1626
2.32M
    {
1627
2.32M
        SCN_EXPECT(has_value());
1628
2.32M
        return this->get_value();
1629
2.32M
    }
_ZNR3scn2v38expectedINSt3__14pairINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl9sign_typeEEENS8_9eof_errorEE5valueISA_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSF_v
Line
Count
Source
1626
697k
    {
1627
697k
        SCN_EXPECT(has_value());
1628
697k
        return this->get_value();
1629
697k
    }
_ZNR3scn2v38expectedINS0_4impl27parse_integer_prefix_resultINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEENS2_9eof_errorEE5valueIS8_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSE_v
Line
Count
Source
1626
128k
    {
1627
128k
        SCN_EXPECT(has_value());
1628
128k
        return this->get_value();
1629
128k
    }
_ZNR3scn2v38expectedINS0_4impl27parse_integer_prefix_resultINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEENS0_10scan_errorEE5valueIS8_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSE_v
Line
Count
Source
1626
128k
    {
1627
128k
        SCN_EXPECT(has_value());
1628
128k
        return this->get_value();
1629
128k
    }
_ZNR3scn2v38expectedINSt3__15tupleIJNS0_6detail17basic_scan_bufferIwE16forward_iteratorENS2_12basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEENS8_IcNS9_IcEENSB_IcEEEEEEENS0_10scan_errorEE5valueISH_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSM_v
Line
Count
Source
1626
596
    {
1627
596
        SCN_EXPECT(has_value());
1628
596
        return this->get_value();
1629
596
    }
_ZNR3scn2v38expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_10scan_errorEE5valueIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSB_v
Line
Count
Source
1626
3.75M
    {
1627
3.75M
        SCN_EXPECT(has_value());
1628
3.75M
        return this->get_value();
1629
3.75M
    }
_ZNR3scn2v38expectedIPKwNS0_4impl9eof_errorEE5valueIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSA_v
Line
Count
Source
1626
3.89M
    {
1627
3.89M
        SCN_EXPECT(has_value());
1628
3.89M
        return this->get_value();
1629
3.89M
    }
_ZNR3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS2_9eof_errorEE5valueIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v
Line
Count
Source
1626
948
    {
1627
948
        SCN_EXPECT(has_value());
1628
948
        return this->get_value();
1629
948
    }
Unexecuted instantiation: _ZNR3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKwS6_EENS2_15take_width_viewINSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEE8sentinelILb1EEEEENS2_9eof_errorEE5valueISH_TnPNS9_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSM_v
Unexecuted instantiation: _ZNR3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKwS6_EENS2_15take_width_viewINSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEE8sentinelILb1EEEEENS0_10scan_errorEE5valueISH_TnPNS9_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSM_v
_ZNR3scn2v38expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EElEENS0_10scan_errorEE5valueISA_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSF_v
Line
Count
Source
1626
1.54k
    {
1627
1.54k
        SCN_EXPECT(has_value());
1628
1.54k
        return this->get_value();
1629
1.54k
    }
_ZNR3scn2v38expectedINSt3__14pairIPKwlEENS0_10scan_errorEE5valueIS6_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSB_v
Line
Count
Source
1626
2.15M
    {
1627
2.15M
        SCN_EXPECT(has_value());
1628
2.15M
        return this->get_value();
1629
2.15M
    }
_ZNR3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS2_11parse_errorEE5valueIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v
Line
Count
Source
1626
654
    {
1627
654
        SCN_EXPECT(has_value());
1628
654
        return this->get_value();
1629
654
    }
_ZNR3scn2v38expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS4_9sign_typeEEENS4_9eof_errorEE5valueISB_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSG_v
Line
Count
Source
1626
494
    {
1627
494
        SCN_EXPECT(has_value());
1628
494
        return this->get_value();
1629
494
    }
_ZNR3scn2v38expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEENS2_9eof_errorEE5valueIS9_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSF_v
Line
Count
Source
1626
378
    {
1627
378
        SCN_EXPECT(has_value());
1628
378
        return this->get_value();
1629
378
    }
_ZNR3scn2v38expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEENS0_10scan_errorEE5valueIS9_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSF_v
Line
Count
Source
1626
378
    {
1627
378
        SCN_EXPECT(has_value());
1628
378
        return this->get_value();
1629
378
    }
Unexecuted instantiation: _ZNR3scn2v38expectedINSt3__15tupleIJNS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS2_12basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEENSA_IcNSB_IcEENSD_IcEEEEEEENS0_10scan_errorEE5valueISJ_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSO_v
_ZNR3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS0_10scan_errorEE5valueIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v
Line
Count
Source
1626
1.16k
    {
1627
1.16k
        SCN_EXPECT(has_value());
1628
1.16k
        return this->get_value();
1629
1.16k
    }
_ZNR3scn2v38expectedIPKwNS0_4impl11parse_errorEE5valueIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSA_v
Line
Count
Source
1626
1.77M
    {
1627
1.77M
        SCN_EXPECT(has_value());
1628
1.77M
        return this->get_value();
1629
1.77M
    }
_ZNR3scn2v38expectedINSt3__14pairIPKwNS0_4impl9sign_typeEEENS6_9eof_errorEE5valueIS8_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v
Line
Count
Source
1626
693k
    {
1627
693k
        SCN_EXPECT(has_value());
1628
693k
        return this->get_value();
1629
693k
    }
_ZNR3scn2v38expectedINS0_4impl27parse_integer_prefix_resultIPKwEENS2_9eof_errorEE5valueIS6_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSC_v
Line
Count
Source
1626
130k
    {
1627
130k
        SCN_EXPECT(has_value());
1628
130k
        return this->get_value();
1629
130k
    }
_ZNR3scn2v38expectedINS0_4impl27parse_integer_prefix_resultIPKwEENS0_10scan_errorEE5valueIS6_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSC_v
Line
Count
Source
1626
130k
    {
1627
130k
        SCN_EXPECT(has_value());
1628
130k
        return this->get_value();
1629
130k
    }
_ZNR3scn2v38expectedINSt3__15tupleIJPKwNS2_12basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEENS6_IcNS7_IcEENS9_IcEEEEEEENS0_10scan_errorEE5valueISF_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSK_v
Line
Count
Source
1626
596
    {
1627
596
        SCN_EXPECT(has_value());
1628
596
        return this->get_value();
1629
596
    }
Unexecuted instantiation: _ZNR3scn2v38expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9sign_typeEEENS0_10scan_errorEE5valueISF_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSK_v
_ZNR3scn2v38expectedINSt3__14pairINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl9sign_typeEEENS0_10scan_errorEE5valueISA_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSF_v
Line
Count
Source
1626
557k
    {
1627
557k
        SCN_EXPECT(has_value());
1628
557k
        return this->get_value();
1629
557k
    }
_ZNR3scn2v38expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS4_9sign_typeEEENS0_10scan_errorEE5valueISB_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSG_v
Line
Count
Source
1626
116
    {
1627
116
        SCN_EXPECT(has_value());
1628
116
        return this->get_value();
1629
116
    }
_ZNR3scn2v38expectedINSt3__14pairIPKwNS0_4impl9sign_typeEEENS0_10scan_errorEE5valueIS8_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v
Line
Count
Source
1626
558k
    {
1627
558k
        SCN_EXPECT(has_value());
1628
558k
        return this->get_value();
1629
558k
    }
_ZNR3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKcS6_EENS2_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS6_S6_EEE8sentinelILb1EEEEENS2_9eof_errorEE5valueISH_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSN_v
Line
Count
Source
1626
2.01k
    {
1627
2.01k
        SCN_EXPECT(has_value());
1628
2.01k
        return this->get_value();
1629
2.01k
    }
_ZNR3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKcS6_EENS2_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS6_S6_EEE8sentinelILb1EEEEENS0_10scan_errorEE5valueISH_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSN_v
Line
Count
Source
1626
1.81k
    {
1627
1.81k
        SCN_EXPECT(has_value());
1628
1.81k
        return this->get_value();
1629
1.81k
    }
_ZNR3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKwS6_EENS2_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS6_S6_EEE8sentinelILb1EEEEENS2_9eof_errorEE5valueISH_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSN_v
Line
Count
Source
1626
754
    {
1627
754
        SCN_EXPECT(has_value());
1628
754
        return this->get_value();
1629
754
    }
_ZNR3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKwS6_EENS2_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS6_S6_EEE8sentinelILb1EEEEENS0_10scan_errorEE5valueISH_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSN_v
Line
Count
Source
1626
754
    {
1627
754
        SCN_EXPECT(has_value());
1628
754
        return this->get_value();
1629
754
    }
_ZNR3scn2v38expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJfEEENS0_10scan_errorEE5valueISA_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSG_v
Line
Count
Source
1626
309k
    {
1627
309k
        SCN_EXPECT(has_value());
1628
309k
        return this->get_value();
1629
309k
    }
_ZNR3scn2v38expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJdEEENS0_10scan_errorEE5valueISA_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSG_v
Line
Count
Source
1626
319k
    {
1627
319k
        SCN_EXPECT(has_value());
1628
319k
        return this->get_value();
1629
319k
    }
_ZNR3scn2v38expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJeEEENS0_10scan_errorEE5valueISA_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSG_v
Line
Count
Source
1626
326k
    {
1627
326k
        SCN_EXPECT(has_value());
1628
326k
        return this->get_value();
1629
326k
    }
_ZNR3scn2v38expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEJfEEENS0_10scan_errorEE5valueISG_TnPNS7_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSL_v
Line
Count
Source
1626
356k
    {
1627
356k
        SCN_EXPECT(has_value());
1628
356k
        return this->get_value();
1629
356k
    }
_ZNR3scn2v38expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEJdEEENS0_10scan_errorEE5valueISG_TnPNS7_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSL_v
Line
Count
Source
1626
372k
    {
1627
372k
        SCN_EXPECT(has_value());
1628
372k
        return this->get_value();
1629
372k
    }
_ZNR3scn2v38expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEJeEEENS0_10scan_errorEE5valueISG_TnPNS7_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSL_v
Line
Count
Source
1626
378k
    {
1627
378k
        SCN_EXPECT(has_value());
1628
378k
        return this->get_value();
1629
378k
    }
_ZNR3scn2v38expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJfEEENS0_10scan_errorEE5valueISA_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSG_v
Line
Count
Source
1626
114k
    {
1627
114k
        SCN_EXPECT(has_value());
1628
114k
        return this->get_value();
1629
114k
    }
_ZNR3scn2v38expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJdEEENS0_10scan_errorEE5valueISA_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSG_v
Line
Count
Source
1626
134k
    {
1627
134k
        SCN_EXPECT(has_value());
1628
134k
        return this->get_value();
1629
134k
    }
_ZNR3scn2v38expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJeEEENS0_10scan_errorEE5valueISA_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSG_v
Line
Count
Source
1626
138k
    {
1627
138k
        SCN_EXPECT(has_value());
1628
138k
        return this->get_value();
1629
138k
    }
_ZNR3scn2v38expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRS9_PKSA_lLl1024EEESE_EEJfEEENS0_10scan_errorEE5valueISG_TnPNS7_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSL_v
Line
Count
Source
1626
114k
    {
1627
114k
        SCN_EXPECT(has_value());
1628
114k
        return this->get_value();
1629
114k
    }
_ZNR3scn2v38expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRS9_PKSA_lLl1024EEESE_EEJdEEENS0_10scan_errorEE5valueISG_TnPNS7_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSL_v
Line
Count
Source
1626
134k
    {
1627
134k
        SCN_EXPECT(has_value());
1628
134k
        return this->get_value();
1629
134k
    }
_ZNR3scn2v38expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRS9_PKSA_lLl1024EEESE_EEJeEEENS0_10scan_errorEE5valueISG_TnPNS7_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSL_v
Line
Count
Source
1626
137k
    {
1627
137k
        SCN_EXPECT(has_value());
1628
137k
        return this->get_value();
1629
137k
    }
_ZNR3scn2v38expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJNSt3__112basic_stringIcNSA_11char_traitsIcEENSA_9allocatorIcEEEEEEENS0_10scan_errorEE5valueISH_TnPNSA_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSM_v
Line
Count
Source
1626
110k
    {
1627
110k
        SCN_EXPECT(has_value());
1628
110k
        return this->get_value();
1629
110k
    }
_ZNR3scn2v38expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJNSt3__117basic_string_viewIcNSA_11char_traitsIcEEEEEEENS0_10scan_errorEE5valueISF_TnPNSA_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSK_v
Line
Count
Source
1626
110k
    {
1627
110k
        SCN_EXPECT(has_value());
1628
110k
        return this->get_value();
1629
110k
    }
_ZNR3scn2v38expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEJNS7_12basic_stringIcNS7_11char_traitsIcEENS7_9allocatorIcEEEEEEENS0_10scan_errorEE5valueISM_TnPNS7_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSR_v
Line
Count
Source
1626
138k
    {
1627
138k
        SCN_EXPECT(has_value());
1628
138k
        return this->get_value();
1629
138k
    }
_ZNR3scn2v38expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJNSt3__112basic_stringIwNSA_11char_traitsIwEENSA_9allocatorIwEEEEEEENS0_10scan_errorEE5valueISH_TnPNSA_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSM_v
Line
Count
Source
1626
833k
    {
1627
833k
        SCN_EXPECT(has_value());
1628
833k
        return this->get_value();
1629
833k
    }
_ZNR3scn2v38expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJNSt3__117basic_string_viewIwNSA_11char_traitsIwEEEEEEENS0_10scan_errorEE5valueISF_TnPNSA_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSK_v
Line
Count
Source
1626
833k
    {
1627
833k
        SCN_EXPECT(has_value());
1628
833k
        return this->get_value();
1629
833k
    }
_ZNR3scn2v38expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRS9_PKSA_lLl1024EEESE_EEJNS7_12basic_stringIwNS7_11char_traitsIwEENS7_9allocatorIwEEEEEEENS0_10scan_errorEE5valueISM_TnPNS7_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSR_v
Line
Count
Source
1626
833k
    {
1627
833k
        SCN_EXPECT(has_value());
1628
833k
        return this->get_value();
1629
833k
    }
1630
    template <typename U = T, std::enable_if_t<!std::is_void_v<U>>* = nullptr>
1631
    constexpr const U& value() const& noexcept
1632
0
    {
1633
0
        SCN_EXPECT(has_value());
1634
0
        return this->get_value();
1635
0
    }
Unexecuted instantiation: _ZNKR3scn2v38expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl9eof_errorEE5valueIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSC_v
Unexecuted instantiation: _ZNKR3scn2v38expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl9eof_errorEE5valueIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSC_v
Unexecuted instantiation: _ZNKR3scn2v38expectedIPKcNS0_4impl9eof_errorEE5valueIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSA_v
Unexecuted instantiation: _ZNKR3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_INS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_15take_width_viewINS9_6detail9subrange_8subrangeIS8_SA_EEE8sentinelILb1EEEEENS2_9eof_errorEE5valueISK_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSQ_v
Unexecuted instantiation: _ZNKR3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_9eof_errorEE5valueISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSH_v
Unexecuted instantiation: _ZNKR3scn2v38expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS2_9eof_errorEE5valueISD_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSJ_v
Unexecuted instantiation: _ZNKR3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEE5valueISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSH_v
Unexecuted instantiation: _ZNKR3scn2v38expectedINS0_4impl27parse_integer_prefix_resultINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEENS2_9eof_errorEE5valueIS8_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSE_v
Unexecuted instantiation: _ZNKR3scn2v38expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl11parse_errorEE5valueIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSC_v
Unexecuted instantiation: _ZNKR3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKcS6_EENS2_15take_width_viewINSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEE8sentinelILb1EEEEENS2_9eof_errorEE5valueISH_TnPNS9_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSM_v
Unexecuted instantiation: _ZNKR3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS2_9eof_errorEE5valueIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSD_v
Unexecuted instantiation: _ZNKR3scn2v38expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEENS2_9eof_errorEE5valueIS9_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSF_v
Unexecuted instantiation: _ZNKR3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS2_11parse_errorEE5valueIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSD_v
Unexecuted instantiation: _ZNKR3scn2v38expectedINS0_4impl27parse_integer_prefix_resultIPKcEENS2_9eof_errorEE5valueIS6_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSC_v
Unexecuted instantiation: _ZNKR3scn2v38expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9sign_typeEEENS4_9eof_errorEE5valueISF_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSK_v
Unexecuted instantiation: _ZNKR3scn2v38expectedINSt3__14pairINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl9sign_typeEEENS8_9eof_errorEE5valueISA_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSF_v
Unexecuted instantiation: _ZNKR3scn2v38expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS4_9sign_typeEEENS4_9eof_errorEE5valueISB_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSG_v
Unexecuted instantiation: _ZNKR3scn2v38expectedINSt3__14pairIPKcNS0_4impl9sign_typeEEENS6_9eof_errorEE5valueIS8_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSD_v
Unexecuted instantiation: _ZNKR3scn2v38expectedIPKcNS0_4impl11parse_errorEE5valueIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSA_v
Unexecuted instantiation: _ZNKR3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_INS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_15take_width_viewINS9_6detail9subrange_8subrangeIS8_SA_EEE8sentinelILb1EEEEENS2_9eof_errorEE5valueISK_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSQ_v
Unexecuted instantiation: _ZNKR3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_9eof_errorEE5valueISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSH_v
Unexecuted instantiation: _ZNKR3scn2v38expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS2_9eof_errorEE5valueISD_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSJ_v
Unexecuted instantiation: _ZNKR3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEE5valueISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSH_v
Unexecuted instantiation: _ZNKR3scn2v38expectedINS0_4impl27parse_integer_prefix_resultINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEENS2_9eof_errorEE5valueIS8_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSE_v
Unexecuted instantiation: _ZNKR3scn2v38expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl11parse_errorEE5valueIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSC_v
Unexecuted instantiation: _ZNKR3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKwS6_EENS2_15take_width_viewINSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEE8sentinelILb1EEEEENS2_9eof_errorEE5valueISH_TnPNS9_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSM_v
Unexecuted instantiation: _ZNKR3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS2_9eof_errorEE5valueIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSD_v
Unexecuted instantiation: _ZNKR3scn2v38expectedIPKwNS0_4impl9eof_errorEE5valueIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSA_v
Unexecuted instantiation: _ZNKR3scn2v38expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEENS2_9eof_errorEE5valueIS9_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSF_v
Unexecuted instantiation: _ZNKR3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS2_11parse_errorEE5valueIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSD_v
Unexecuted instantiation: _ZNKR3scn2v38expectedINS0_4impl27parse_integer_prefix_resultIPKwEENS2_9eof_errorEE5valueIS6_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSC_v
Unexecuted instantiation: _ZNKR3scn2v38expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9sign_typeEEENS4_9eof_errorEE5valueISF_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSK_v
Unexecuted instantiation: _ZNKR3scn2v38expectedINSt3__14pairINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl9sign_typeEEENS8_9eof_errorEE5valueISA_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSF_v
Unexecuted instantiation: _ZNKR3scn2v38expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS4_9sign_typeEEENS4_9eof_errorEE5valueISB_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSG_v
Unexecuted instantiation: _ZNKR3scn2v38expectedINSt3__14pairIPKwNS0_4impl9sign_typeEEENS6_9eof_errorEE5valueIS8_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSD_v
Unexecuted instantiation: _ZNKR3scn2v38expectedIPKwNS0_4impl11parse_errorEE5valueIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSA_v
Unexecuted instantiation: _ZNKR3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKcS6_EENS2_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS6_S6_EEE8sentinelILb1EEEEENS2_9eof_errorEE5valueISH_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSN_v
Unexecuted instantiation: _ZNKR3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKwS6_EENS2_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS6_S6_EEE8sentinelILb1EEEEENS2_9eof_errorEE5valueISH_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSN_v
1636
    template <typename U = T, std::enable_if_t<!std::is_void_v<U>>* = nullptr>
1637
    constexpr U&& value() && noexcept
1638
    {
1639
        SCN_EXPECT(has_value());
1640
        return std::move(this->get_value());
1641
    }
1642
    template <typename U = T, std::enable_if_t<!std::is_void_v<U>>* = nullptr>
1643
    constexpr const U&& value() const&& noexcept
1644
    {
1645
        SCN_EXPECT(has_value());
1646
        return std::move(this->get_value());
1647
    }
1648
1649
    /// Get the expected value, if one is contained in *this
1650
    template <typename U = T, std::enable_if_t<!std::is_void_v<U>>* = nullptr>
1651
    constexpr U& operator*() & noexcept
1652
25.7M
    {
1653
25.7M
        return value();
1654
25.7M
    }
_ZNR3scn2v38expectedIlNS0_10scan_errorEEdeIlTnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERS7_v
Line
Count
Source
1652
9.28M
    {
1653
9.28M
        return value();
1654
9.28M
    }
_ZNR3scn2v38expectedINS0_6ranges6detail9subrange_8subrangeIPKcS7_EENS0_10scan_errorEEdeIS8_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSE_v
Line
Count
Source
1652
1.37M
    {
1653
1.37M
        return value();
1654
1.37M
    }
_ZNR3scn2v38expectedINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS8_PKS9_lLl4096EEESD_EENS0_10scan_errorEEdeISE_TnPNS6_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSJ_v
Line
Count
Source
1652
1.45M
    {
1653
1.45M
        return value();
1654
1.45M
    }
_ZNR3scn2v38expectedINS0_6ranges6detail9subrange_8subrangeIPKwS7_EENS0_10scan_errorEEdeIS8_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSE_v
Line
Count
Source
1652
1.68M
    {
1653
1.68M
        return value();
1654
1.68M
    }
_ZNR3scn2v38expectedINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRS8_PKS9_lLl1024EEESD_EENS0_10scan_errorEEdeISE_TnPNS6_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSJ_v
Line
Count
Source
1652
1.02M
    {
1653
1.02M
        return value();
1654
1.02M
    }
_ZNR3scn2v38expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl9eof_errorEEdeIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSC_v
Line
Count
Source
1652
744k
    {
1653
744k
        return value();
1654
744k
    }
Unexecuted instantiation: _ZNR3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_9eof_errorEEdeISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSH_v
Unexecuted instantiation: _ZNR3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_INS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_15take_width_viewINS9_6detail9subrange_8subrangeIS8_SA_EEE8sentinelILb1EEEEENS2_9eof_errorEEdeISK_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSQ_v
Unexecuted instantiation: _ZNR3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEEdeISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSH_v
_ZNR3scn2v38expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl11parse_errorEEdeIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSC_v
Line
Count
Source
1652
3.49M
    {
1653
3.49M
        return value();
1654
3.49M
    }
_ZNR3scn2v38expectedIPKcNS0_4impl9eof_errorEEdeIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSA_v
Line
Count
Source
1652
471k
    {
1653
471k
        return value();
1654
471k
    }
_ZNR3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS2_9eof_errorEEdeIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v
Line
Count
Source
1652
4.15k
    {
1653
4.15k
        return value();
1654
4.15k
    }
Unexecuted instantiation: _ZNR3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKcS6_EENS2_15take_width_viewINSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEE8sentinelILb1EEEEENS2_9eof_errorEEdeISH_TnPNS9_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSM_v
Unexecuted instantiation: _ZNR3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS2_11parse_errorEEdeIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v
_ZNR3scn2v38expectedIPKcNS0_4impl11parse_errorEEdeIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSA_v
Line
Count
Source
1652
1.23M
    {
1653
1.23M
        return value();
1654
1.23M
    }
Unexecuted instantiation: _ZNR3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS0_10scan_errorEEdeISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSH_v
_ZNR3scn2v38expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_10scan_errorEEdeIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSB_v
Line
Count
Source
1652
1.18M
    {
1653
1.18M
        return value();
1654
1.18M
    }
_ZNR3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS0_10scan_errorEEdeIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v
Line
Count
Source
1652
696
    {
1653
696
        return value();
1654
696
    }
_ZNR3scn2v38expectedIPKcNS0_10scan_errorEEdeIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERS9_v
Line
Count
Source
1652
1.10M
    {
1653
1.10M
        return value();
1654
1.10M
    }
_ZNR3scn2v38expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl9eof_errorEEdeIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSC_v
Line
Count
Source
1652
21.5k
    {
1653
21.5k
        return value();
1654
21.5k
    }
Unexecuted instantiation: _ZNR3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_9eof_errorEEdeISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSH_v
Unexecuted instantiation: _ZNR3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_INS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_15take_width_viewINS9_6detail9subrange_8subrangeIS8_SA_EEE8sentinelILb1EEEEENS2_9eof_errorEEdeISK_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSQ_v
Unexecuted instantiation: _ZNR3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEEdeISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSH_v
_ZNR3scn2v38expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl11parse_errorEEdeIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSC_v
Line
Count
Source
1652
823k
    {
1653
823k
        return value();
1654
823k
    }
_ZNR3scn2v38expectedIPKwNS0_4impl9eof_errorEEdeIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSA_v
Line
Count
Source
1652
10.5k
    {
1653
10.5k
        return value();
1654
10.5k
    }
Unexecuted instantiation: _ZNR3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS2_9eof_errorEEdeIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v
Unexecuted instantiation: _ZNR3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKwS6_EENS2_15take_width_viewINSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEE8sentinelILb1EEEEENS2_9eof_errorEEdeISH_TnPNS9_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSM_v
Unexecuted instantiation: _ZNR3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS2_11parse_errorEEdeIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v
_ZNR3scn2v38expectedIPKwNS0_4impl11parse_errorEEdeIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSA_v
Line
Count
Source
1652
273k
    {
1653
273k
        return value();
1654
273k
    }
Unexecuted instantiation: _ZNR3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS0_10scan_errorEEdeISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSH_v
_ZNR3scn2v38expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_10scan_errorEEdeIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSB_v
Line
Count
Source
1652
614k
    {
1653
614k
        return value();
1654
614k
    }
_ZNR3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS0_10scan_errorEEdeIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v
Line
Count
Source
1652
282
    {
1653
282
        return value();
1654
282
    }
_ZNR3scn2v38expectedIPKwNS0_10scan_errorEEdeIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERS9_v
Line
Count
Source
1652
952k
    {
1653
952k
        return value();
1654
952k
    }
_ZNR3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKcS6_EENS2_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS6_S6_EEE8sentinelILb1EEEEENS2_9eof_errorEEdeISH_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSN_v
Line
Count
Source
1652
202
    {
1653
202
        return value();
1654
202
    }
Unexecuted instantiation: _ZNR3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKwS6_EENS2_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS6_S6_EEE8sentinelILb1EEEEENS2_9eof_errorEEdeISH_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSN_v
Unexecuted instantiation: _ZNR3scn2v38expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS2_9eof_errorEEdeISD_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSJ_v
Unexecuted instantiation: _ZNR3scn2v38expectedINS0_4impl27parse_integer_prefix_resultINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEENS2_9eof_errorEEdeIS8_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSE_v
Unexecuted instantiation: _ZNR3scn2v38expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEENS2_9eof_errorEEdeIS9_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSF_v
Unexecuted instantiation: _ZNR3scn2v38expectedINS0_4impl27parse_integer_prefix_resultIPKcEENS2_9eof_errorEEdeIS6_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSC_v
Unexecuted instantiation: _ZNR3scn2v38expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9sign_typeEEENS4_9eof_errorEEdeISF_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSK_v
Unexecuted instantiation: _ZNR3scn2v38expectedINSt3__14pairINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl9sign_typeEEENS8_9eof_errorEEdeISA_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSF_v
Unexecuted instantiation: _ZNR3scn2v38expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS4_9sign_typeEEENS4_9eof_errorEEdeISB_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSG_v
Unexecuted instantiation: _ZNR3scn2v38expectedINSt3__14pairIPKcNS0_4impl9sign_typeEEENS6_9eof_errorEEdeIS8_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v
Unexecuted instantiation: _ZNR3scn2v38expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS2_9eof_errorEEdeISD_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSJ_v
Unexecuted instantiation: _ZNR3scn2v38expectedINS0_4impl27parse_integer_prefix_resultINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEENS2_9eof_errorEEdeIS8_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSE_v
Unexecuted instantiation: _ZNR3scn2v38expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEENS2_9eof_errorEEdeIS9_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSF_v
Unexecuted instantiation: _ZNR3scn2v38expectedINS0_4impl27parse_integer_prefix_resultIPKwEENS2_9eof_errorEEdeIS6_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSC_v
Unexecuted instantiation: _ZNR3scn2v38expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9sign_typeEEENS4_9eof_errorEEdeISF_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSK_v
Unexecuted instantiation: _ZNR3scn2v38expectedINSt3__14pairINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl9sign_typeEEENS8_9eof_errorEEdeISA_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSF_v
Unexecuted instantiation: _ZNR3scn2v38expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS4_9sign_typeEEENS4_9eof_errorEEdeISB_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSG_v
Unexecuted instantiation: _ZNR3scn2v38expectedINSt3__14pairIPKwNS0_4impl9sign_typeEEENS6_9eof_errorEEdeIS8_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v
1655
    template <typename U = T, std::enable_if_t<!std::is_void_v<U>>* = nullptr>
1656
    constexpr const U& operator*() const& noexcept
1657
0
    {
1658
0
        return value();
1659
0
    }
Unexecuted instantiation: _ZNKR3scn2v38expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl9eof_errorEEdeIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSC_v
Unexecuted instantiation: _ZNKR3scn2v38expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl9eof_errorEEdeIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSC_v
Unexecuted instantiation: _ZNKR3scn2v38expectedIPKcNS0_4impl9eof_errorEEdeIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSA_v
Unexecuted instantiation: _ZNKR3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_INS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_15take_width_viewINS9_6detail9subrange_8subrangeIS8_SA_EEE8sentinelILb1EEEEENS2_9eof_errorEEdeISK_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSQ_v
Unexecuted instantiation: _ZNKR3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_9eof_errorEEdeISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSH_v
Unexecuted instantiation: _ZNKR3scn2v38expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS2_9eof_errorEEdeISD_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSJ_v
Unexecuted instantiation: _ZNKR3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEEdeISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSH_v
Unexecuted instantiation: _ZNKR3scn2v38expectedINS0_4impl27parse_integer_prefix_resultINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEENS2_9eof_errorEEdeIS8_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSE_v
Unexecuted instantiation: _ZNKR3scn2v38expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl11parse_errorEEdeIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSC_v
Unexecuted instantiation: _ZNKR3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKcS6_EENS2_15take_width_viewINSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEE8sentinelILb1EEEEENS2_9eof_errorEEdeISH_TnPNS9_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSM_v
Unexecuted instantiation: _ZNKR3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS2_9eof_errorEEdeIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSD_v
Unexecuted instantiation: _ZNKR3scn2v38expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEENS2_9eof_errorEEdeIS9_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSF_v
Unexecuted instantiation: _ZNKR3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS2_11parse_errorEEdeIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSD_v
Unexecuted instantiation: _ZNKR3scn2v38expectedINS0_4impl27parse_integer_prefix_resultIPKcEENS2_9eof_errorEEdeIS6_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSC_v
Unexecuted instantiation: _ZNKR3scn2v38expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9sign_typeEEENS4_9eof_errorEEdeISF_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSK_v
Unexecuted instantiation: _ZNKR3scn2v38expectedINSt3__14pairINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl9sign_typeEEENS8_9eof_errorEEdeISA_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSF_v
Unexecuted instantiation: _ZNKR3scn2v38expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS4_9sign_typeEEENS4_9eof_errorEEdeISB_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSG_v
Unexecuted instantiation: _ZNKR3scn2v38expectedINSt3__14pairIPKcNS0_4impl9sign_typeEEENS6_9eof_errorEEdeIS8_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSD_v
Unexecuted instantiation: _ZNKR3scn2v38expectedIPKcNS0_4impl11parse_errorEEdeIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSA_v
Unexecuted instantiation: _ZNKR3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_INS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_15take_width_viewINS9_6detail9subrange_8subrangeIS8_SA_EEE8sentinelILb1EEEEENS2_9eof_errorEEdeISK_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSQ_v
Unexecuted instantiation: _ZNKR3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_9eof_errorEEdeISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSH_v
Unexecuted instantiation: _ZNKR3scn2v38expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS2_9eof_errorEEdeISD_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSJ_v
Unexecuted instantiation: _ZNKR3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEEdeISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSH_v
Unexecuted instantiation: _ZNKR3scn2v38expectedINS0_4impl27parse_integer_prefix_resultINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEENS2_9eof_errorEEdeIS8_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSE_v
Unexecuted instantiation: _ZNKR3scn2v38expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl11parse_errorEEdeIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSC_v
Unexecuted instantiation: _ZNKR3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKwS6_EENS2_15take_width_viewINSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEE8sentinelILb1EEEEENS2_9eof_errorEEdeISH_TnPNS9_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSM_v
Unexecuted instantiation: _ZNKR3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS2_9eof_errorEEdeIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSD_v
Unexecuted instantiation: _ZNKR3scn2v38expectedIPKwNS0_4impl9eof_errorEEdeIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSA_v
Unexecuted instantiation: _ZNKR3scn2v38expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEENS2_9eof_errorEEdeIS9_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSF_v
Unexecuted instantiation: _ZNKR3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS2_11parse_errorEEdeIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSD_v
Unexecuted instantiation: _ZNKR3scn2v38expectedINS0_4impl27parse_integer_prefix_resultIPKwEENS2_9eof_errorEEdeIS6_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSC_v
Unexecuted instantiation: _ZNKR3scn2v38expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9sign_typeEEENS4_9eof_errorEEdeISF_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSK_v
Unexecuted instantiation: _ZNKR3scn2v38expectedINSt3__14pairINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl9sign_typeEEENS8_9eof_errorEEdeISA_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSF_v
Unexecuted instantiation: _ZNKR3scn2v38expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS4_9sign_typeEEENS4_9eof_errorEEdeISB_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSG_v
Unexecuted instantiation: _ZNKR3scn2v38expectedINSt3__14pairIPKwNS0_4impl9sign_typeEEENS6_9eof_errorEEdeIS8_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSD_v
Unexecuted instantiation: _ZNKR3scn2v38expectedIPKwNS0_4impl11parse_errorEEdeIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSA_v
Unexecuted instantiation: _ZNKR3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKcS6_EENS2_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS6_S6_EEE8sentinelILb1EEEEENS2_9eof_errorEEdeISH_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSN_v
Unexecuted instantiation: _ZNKR3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKwS6_EENS2_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS6_S6_EEE8sentinelILb1EEEEENS2_9eof_errorEEdeISH_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSN_v
1660
    template <typename U = T, std::enable_if_t<!std::is_void_v<U>>* = nullptr>
1661
    constexpr U&& operator*() && noexcept
1662
63.9M
    {
1663
63.9M
        return std::move(value());
1664
63.9M
    }
_ZNO3scn2v38expectedINS0_6ranges6detail9subrange_8subrangeIPKcS7_EENS0_10scan_errorEEdeIS8_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSE_v
Line
Count
Source
1662
168k
    {
1663
168k
        return std::move(value());
1664
168k
    }
_ZNO3scn2v38expectedINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS8_PKS9_lLl4096EEESD_EENS0_10scan_errorEEdeISE_TnPNS6_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSJ_v
Line
Count
Source
1662
160k
    {
1663
160k
        return std::move(value());
1664
160k
    }
_ZNO3scn2v38expectedINS0_6ranges6detail9subrange_8subrangeIPKwS7_EENS0_10scan_errorEEdeIS8_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSE_v
Line
Count
Source
1662
370k
    {
1663
370k
        return std::move(value());
1664
370k
    }
_ZNO3scn2v38expectedINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRS8_PKS9_lLl1024EEESD_EENS0_10scan_errorEEdeISE_TnPNS6_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSJ_v
Line
Count
Source
1662
203k
    {
1663
203k
        return std::move(value());
1664
203k
    }
_ZNO3scn2v38expectedINSt3__115regex_constants18syntax_option_typeENS0_10scan_errorEEdeIS4_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOS9_v
Line
Count
Source
1662
18.6k
    {
1663
18.6k
        return std::move(value());
1664
18.6k
    }
Unexecuted instantiation: _ZNO3scn2v38expectedIwNS0_10scan_errorEEdeIwTnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOS7_v
_ZNO3scn2v38expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl9eof_errorEEdeIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSC_v
Line
Count
Source
1662
5.16M
    {
1663
5.16M
        return std::move(value());
1664
5.16M
    }
_ZNO3scn2v38expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl9eof_errorEEdeIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSC_v
Line
Count
Source
1662
3.02M
    {
1663
3.02M
        return std::move(value());
1664
3.02M
    }
_ZNO3scn2v38expectedIPKcNS0_10scan_errorEEdeIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOS9_v
Line
Count
Source
1662
5.69M
    {
1663
5.69M
        return std::move(value());
1664
5.69M
    }
_ZNO3scn2v38expectedIPKwNS0_10scan_errorEEdeIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOS9_v
Line
Count
Source
1662
5.04M
    {
1663
5.04M
        return std::move(value());
1664
5.04M
    }
_ZNO3scn2v38expectedIPKcNS0_4impl9eof_errorEEdeIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSA_v
Line
Count
Source
1662
1.68M
    {
1663
1.68M
        return std::move(value());
1664
1.68M
    }
Unexecuted instantiation: _ZNO3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_INS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_15take_width_viewINS9_6detail9subrange_8subrangeIS8_SA_EEE8sentinelILb1EEEEENS2_9eof_errorEEdeISK_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSQ_v
Unexecuted instantiation: _ZNO3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_INS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_15take_width_viewINS9_6detail9subrange_8subrangeIS8_SA_EEE8sentinelILb1EEEEENS0_10scan_errorEEdeISK_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSQ_v
Unexecuted instantiation: _ZNO3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_9eof_errorEEdeISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSH_v
Unexecuted instantiation: _ZNO3scn2v38expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEElEENS0_10scan_errorEEdeISE_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSJ_v
_ZNO3scn2v38expectedINSt3__14pairINS0_6detail17basic_scan_bufferIcE16forward_iteratorElEENS0_10scan_errorEEdeIS8_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSD_v
Line
Count
Source
1662
2.33M
    {
1663
2.33M
        return std::move(value());
1664
2.33M
    }
Unexecuted instantiation: _ZNO3scn2v38expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9sign_typeEEENS4_9eof_errorEEdeISF_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSK_v
Unexecuted instantiation: _ZNO3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEEdeISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSH_v
Unexecuted instantiation: _ZNO3scn2v38expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS2_9eof_errorEEdeISD_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSJ_v
Unexecuted instantiation: _ZNO3scn2v38expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS0_10scan_errorEEdeISD_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSJ_v
Unexecuted instantiation: _ZNO3scn2v38expectedINSt3__15tupleIJNS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_12basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEESJ_EEENS0_10scan_errorEEdeISK_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSP_v
Unexecuted instantiation: _ZNO3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS0_10scan_errorEEdeISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSH_v
_ZNO3scn2v38expectedINSt3__14pairINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl9sign_typeEEENS8_9eof_errorEEdeISA_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSF_v
Line
Count
Source
1662
1.59M
    {
1663
1.59M
        return std::move(value());
1664
1.59M
    }
_ZNO3scn2v38expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl11parse_errorEEdeIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSC_v
Line
Count
Source
1662
3.72M
    {
1663
3.72M
        return std::move(value());
1664
3.72M
    }
_ZNO3scn2v38expectedINS0_4impl27parse_integer_prefix_resultINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEENS2_9eof_errorEEdeIS8_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSE_v
Line
Count
Source
1662
419k
    {
1663
419k
        return std::move(value());
1664
419k
    }
_ZNO3scn2v38expectedINS0_4impl27parse_integer_prefix_resultINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEENS0_10scan_errorEEdeIS8_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSE_v
Line
Count
Source
1662
419k
    {
1663
419k
        return std::move(value());
1664
419k
    }
_ZNO3scn2v38expectedINSt3__15tupleIJNS0_6detail17basic_scan_bufferIcE16forward_iteratorENS2_12basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEESD_EEENS0_10scan_errorEEdeISE_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSJ_v
Line
Count
Source
1662
58.2k
    {
1663
58.2k
        return std::move(value());
1664
58.2k
    }
_ZNO3scn2v38expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_10scan_errorEEdeIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSB_v
Line
Count
Source
1662
4.74M
    {
1663
4.74M
        return std::move(value());
1664
4.74M
    }
Unexecuted instantiation: _ZNO3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKcS6_EENS2_15take_width_viewINSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEE8sentinelILb1EEEEENS2_9eof_errorEEdeISH_TnPNS9_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSM_v
Unexecuted instantiation: _ZNO3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKcS6_EENS2_15take_width_viewINSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEE8sentinelILb1EEEEENS0_10scan_errorEEdeISH_TnPNS9_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSM_v
_ZNO3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS2_9eof_errorEEdeIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSD_v
Line
Count
Source
1662
2.24k
    {
1663
2.24k
        return std::move(value());
1664
2.24k
    }
_ZNO3scn2v38expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EElEENS0_10scan_errorEEdeISA_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSF_v
Line
Count
Source
1662
3.91k
    {
1663
3.91k
        return std::move(value());
1664
3.91k
    }
_ZNO3scn2v38expectedINSt3__14pairIPKclEENS0_10scan_errorEEdeIS6_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSB_v
Line
Count
Source
1662
2.18M
    {
1663
2.18M
        return std::move(value());
1664
2.18M
    }
_ZNO3scn2v38expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS4_9sign_typeEEENS4_9eof_errorEEdeISB_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSG_v
Line
Count
Source
1662
1.10k
    {
1663
1.10k
        return std::move(value());
1664
1.10k
    }
_ZNO3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS2_11parse_errorEEdeIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSD_v
Line
Count
Source
1662
1.49k
    {
1663
1.49k
        return std::move(value());
1664
1.49k
    }
_ZNO3scn2v38expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEENS2_9eof_errorEEdeIS9_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSF_v
Line
Count
Source
1662
834
    {
1663
834
        return std::move(value());
1664
834
    }
_ZNO3scn2v38expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEENS0_10scan_errorEEdeIS9_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSF_v
Line
Count
Source
1662
834
    {
1663
834
        return std::move(value());
1664
834
    }
Unexecuted instantiation: _ZNO3scn2v38expectedINSt3__15tupleIJNS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS2_12basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEESF_EEENS0_10scan_errorEEdeISG_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSL_v
_ZNO3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS0_10scan_errorEEdeIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSD_v
Line
Count
Source
1662
2.11k
    {
1663
2.11k
        return std::move(value());
1664
2.11k
    }
_ZNO3scn2v38expectedINSt3__14pairIPKcNS0_4impl9sign_typeEEENS6_9eof_errorEEdeIS8_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSD_v
Line
Count
Source
1662
1.45M
    {
1663
1.45M
        return std::move(value());
1664
1.45M
    }
_ZNO3scn2v38expectedINS0_4impl27parse_integer_prefix_resultIPKcEENS2_9eof_errorEEdeIS6_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSC_v
Line
Count
Source
1662
423k
    {
1663
423k
        return std::move(value());
1664
423k
    }
_ZNO3scn2v38expectedINS0_4impl27parse_integer_prefix_resultIPKcEENS0_10scan_errorEEdeIS6_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSC_v
Line
Count
Source
1662
423k
    {
1663
423k
        return std::move(value());
1664
423k
    }
_ZNO3scn2v38expectedINSt3__15tupleIJPKcNS2_12basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEESB_EEENS0_10scan_errorEEdeISC_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSH_v
Line
Count
Source
1662
58.2k
    {
1663
58.2k
        return std::move(value());
1664
58.2k
    }
_ZNO3scn2v38expectedIlNS0_10scan_errorEEdeIlTnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOS7_v
Line
Count
Source
1662
5.67M
    {
1663
5.67M
        return std::move(value());
1664
5.67M
    }
Unexecuted instantiation: _ZNO3scn2v38expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9sign_typeEEENS0_10scan_errorEEdeISF_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSK_v
_ZNO3scn2v38expectedINSt3__14pairINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl9sign_typeEEENS0_10scan_errorEEdeISA_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSF_v
Line
Count
Source
1662
1.17M
    {
1663
1.17M
        return std::move(value());
1664
1.17M
    }
_ZNO3scn2v38expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS4_9sign_typeEEENS0_10scan_errorEEdeISB_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSG_v
Line
Count
Source
1662
274
    {
1663
274
        return std::move(value());
1664
274
    }
_ZNO3scn2v38expectedINSt3__14pairIPKcNS0_4impl9sign_typeEEENS0_10scan_errorEEdeIS8_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSD_v
Line
Count
Source
1662
1.02M
    {
1663
1.02M
        return std::move(value());
1664
1.02M
    }
Unexecuted instantiation: _ZNO3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_INS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_15take_width_viewINS9_6detail9subrange_8subrangeIS8_SA_EEE8sentinelILb1EEEEENS2_9eof_errorEEdeISK_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSQ_v
Unexecuted instantiation: _ZNO3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_INS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_15take_width_viewINS9_6detail9subrange_8subrangeIS8_SA_EEE8sentinelILb1EEEEENS0_10scan_errorEEdeISK_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSQ_v
Unexecuted instantiation: _ZNO3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_9eof_errorEEdeISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSH_v
Unexecuted instantiation: _ZNO3scn2v38expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEElEENS0_10scan_errorEEdeISE_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSJ_v
_ZNO3scn2v38expectedINSt3__14pairINS0_6detail17basic_scan_bufferIwE16forward_iteratorElEENS0_10scan_errorEEdeIS8_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSD_v
Line
Count
Source
1662
1.46M
    {
1663
1.46M
        return std::move(value());
1664
1.46M
    }
Unexecuted instantiation: _ZNO3scn2v38expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9sign_typeEEENS4_9eof_errorEEdeISF_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSK_v
Unexecuted instantiation: _ZNO3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEEdeISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSH_v
Unexecuted instantiation: _ZNO3scn2v38expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS2_9eof_errorEEdeISD_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSJ_v
Unexecuted instantiation: _ZNO3scn2v38expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS0_10scan_errorEEdeISD_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSJ_v
Unexecuted instantiation: _ZNO3scn2v38expectedINSt3__15tupleIJNS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_12basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEENSE_IcNSF_IcEENSH_IcEEEEEEENS0_10scan_errorEEdeISN_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSS_v
Unexecuted instantiation: _ZNO3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS0_10scan_errorEEdeISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSH_v
_ZNO3scn2v38expectedINSt3__14pairINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl9sign_typeEEENS8_9eof_errorEEdeISA_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSF_v
Line
Count
Source
1662
686k
    {
1663
686k
        return std::move(value());
1664
686k
    }
_ZNO3scn2v38expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl11parse_errorEEdeIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSC_v
Line
Count
Source
1662
1.50M
    {
1663
1.50M
        return std::move(value());
1664
1.50M
    }
_ZNO3scn2v38expectedINS0_4impl27parse_integer_prefix_resultINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEENS2_9eof_errorEEdeIS8_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSE_v
Line
Count
Source
1662
128k
    {
1663
128k
        return std::move(value());
1664
128k
    }
_ZNO3scn2v38expectedINS0_4impl27parse_integer_prefix_resultINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEENS0_10scan_errorEEdeIS8_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSE_v
Line
Count
Source
1662
128k
    {
1663
128k
        return std::move(value());
1664
128k
    }
_ZNO3scn2v38expectedINSt3__15tupleIJNS0_6detail17basic_scan_bufferIwE16forward_iteratorENS2_12basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEENS8_IcNS9_IcEENSB_IcEEEEEEENS0_10scan_errorEEdeISH_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSM_v
Line
Count
Source
1662
596
    {
1663
596
        return std::move(value());
1664
596
    }
_ZNO3scn2v38expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_10scan_errorEEdeIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSB_v
Line
Count
Source
1662
3.14M
    {
1663
3.14M
        return std::move(value());
1664
3.14M
    }
Unexecuted instantiation: _ZNO3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKwS6_EENS2_15take_width_viewINSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEE8sentinelILb1EEEEENS2_9eof_errorEEdeISH_TnPNS9_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSM_v
Unexecuted instantiation: _ZNO3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKwS6_EENS2_15take_width_viewINSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEE8sentinelILb1EEEEENS0_10scan_errorEEdeISH_TnPNS9_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSM_v
_ZNO3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS2_9eof_errorEEdeIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSD_v
Line
Count
Source
1662
948
    {
1663
948
        return std::move(value());
1664
948
    }
_ZNO3scn2v38expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EElEENS0_10scan_errorEEdeISA_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSF_v
Line
Count
Source
1662
1.54k
    {
1663
1.54k
        return std::move(value());
1664
1.54k
    }
_ZNO3scn2v38expectedIPKwNS0_4impl9eof_errorEEdeIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSA_v
Line
Count
Source
1662
3.88M
    {
1663
3.88M
        return std::move(value());
1664
3.88M
    }
_ZNO3scn2v38expectedINSt3__14pairIPKwlEENS0_10scan_errorEEdeIS6_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSB_v
Line
Count
Source
1662
2.15M
    {
1663
2.15M
        return std::move(value());
1664
2.15M
    }
_ZNO3scn2v38expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS4_9sign_typeEEENS4_9eof_errorEEdeISB_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSG_v
Line
Count
Source
1662
494
    {
1663
494
        return std::move(value());
1664
494
    }
_ZNO3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS2_11parse_errorEEdeIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSD_v
Line
Count
Source
1662
654
    {
1663
654
        return std::move(value());
1664
654
    }
_ZNO3scn2v38expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEENS2_9eof_errorEEdeIS9_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSF_v
Line
Count
Source
1662
378
    {
1663
378
        return std::move(value());
1664
378
    }
_ZNO3scn2v38expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEENS0_10scan_errorEEdeIS9_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSF_v
Line
Count
Source
1662
378
    {
1663
378
        return std::move(value());
1664
378
    }
Unexecuted instantiation: _ZNO3scn2v38expectedINSt3__15tupleIJNS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS2_12basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEENSA_IcNSB_IcEENSD_IcEEEEEEENS0_10scan_errorEEdeISJ_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSO_v
_ZNO3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS0_10scan_errorEEdeIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSD_v
Line
Count
Source
1662
884
    {
1663
884
        return std::move(value());
1664
884
    }
_ZNO3scn2v38expectedINSt3__14pairIPKwNS0_4impl9sign_typeEEENS6_9eof_errorEEdeIS8_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSD_v
Line
Count
Source
1662
689k
    {
1663
689k
        return std::move(value());
1664
689k
    }
_ZNO3scn2v38expectedIPKwNS0_4impl11parse_errorEEdeIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSA_v
Line
Count
Source
1662
1.50M
    {
1663
1.50M
        return std::move(value());
1664
1.50M
    }
_ZNO3scn2v38expectedINS0_4impl27parse_integer_prefix_resultIPKwEENS2_9eof_errorEEdeIS6_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSC_v
Line
Count
Source
1662
130k
    {
1663
130k
        return std::move(value());
1664
130k
    }
_ZNO3scn2v38expectedINS0_4impl27parse_integer_prefix_resultIPKwEENS0_10scan_errorEEdeIS6_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSC_v
Line
Count
Source
1662
130k
    {
1663
130k
        return std::move(value());
1664
130k
    }
_ZNO3scn2v38expectedINSt3__15tupleIJPKwNS2_12basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEENS6_IcNS7_IcEENS9_IcEEEEEEENS0_10scan_errorEEdeISF_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSK_v
Line
Count
Source
1662
596
    {
1663
596
        return std::move(value());
1664
596
    }
Unexecuted instantiation: _ZNO3scn2v38expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9sign_typeEEENS0_10scan_errorEEdeISF_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSK_v
_ZNO3scn2v38expectedINSt3__14pairINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl9sign_typeEEENS0_10scan_errorEEdeISA_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSF_v
Line
Count
Source
1662
557k
    {
1663
557k
        return std::move(value());
1664
557k
    }
_ZNO3scn2v38expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS4_9sign_typeEEENS0_10scan_errorEEdeISB_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSG_v
Line
Count
Source
1662
116
    {
1663
116
        return std::move(value());
1664
116
    }
_ZNO3scn2v38expectedINSt3__14pairIPKwNS0_4impl9sign_typeEEENS0_10scan_errorEEdeIS8_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSD_v
Line
Count
Source
1662
558k
    {
1663
558k
        return std::move(value());
1664
558k
    }
_ZNO3scn2v38expectedIPKcNS0_4impl11parse_errorEEdeIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSA_v
Line
Count
Source
1662
1.93k
    {
1663
1.93k
        return std::move(value());
1664
1.93k
    }
_ZNO3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKcS6_EENS2_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS6_S6_EEE8sentinelILb1EEEEENS2_9eof_errorEEdeISH_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSN_v
Line
Count
Source
1662
1.81k
    {
1663
1.81k
        return std::move(value());
1664
1.81k
    }
_ZNO3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKcS6_EENS2_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS6_S6_EEE8sentinelILb1EEEEENS0_10scan_errorEEdeISH_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSN_v
Line
Count
Source
1662
1.81k
    {
1663
1.81k
        return std::move(value());
1664
1.81k
    }
_ZNO3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKwS6_EENS2_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS6_S6_EEE8sentinelILb1EEEEENS2_9eof_errorEEdeISH_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSN_v
Line
Count
Source
1662
754
    {
1663
754
        return std::move(value());
1664
754
    }
_ZNO3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKwS6_EENS2_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS6_S6_EEE8sentinelILb1EEEEENS0_10scan_errorEEdeISH_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSN_v
Line
Count
Source
1662
754
    {
1663
754
        return std::move(value());
1664
754
    }
1665
    template <typename U = T, std::enable_if_t<!std::is_void_v<U>>* = nullptr>
1666
    constexpr const U&& operator*() const&& noexcept
1667
    {
1668
        return std::move(value());
1669
    }
1670
1671
    constexpr value_type* operator->() noexcept
1672
6.60M
    {
1673
6.60M
        return &value();
1674
6.60M
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>, scn::v3::scan_error>::operator->()
Line
Count
Source
1672
59.6k
    {
1673
59.6k
        return &value();
1674
59.6k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>, scn::v3::scan_error>::operator->()
Line
Count
Source
1672
50.5k
    {
1673
50.5k
        return &value();
1674
50.5k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v3::scan_error>::operator->()
Line
Count
Source
1672
72.0k
    {
1673
72.0k
        return &value();
1674
72.0k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v3::scan_error>::operator->()
Line
Count
Source
1672
56.0k
    {
1673
56.0k
        return &value();
1674
56.0k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long long>, scn::v3::scan_error>::operator->()
Line
Count
Source
1672
73.5k
    {
1673
73.5k
        return &value();
1674
73.5k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>, scn::v3::scan_error>::operator->()
Line
Count
Source
1672
56.7k
    {
1673
56.7k
        return &value();
1674
56.7k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>, scn::v3::scan_error>::operator->()
Line
Count
Source
1672
59.6k
    {
1673
59.6k
        return &value();
1674
59.6k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>, scn::v3::scan_error>::operator->()
Line
Count
Source
1672
50.5k
    {
1673
50.5k
        return &value();
1674
50.5k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>, scn::v3::scan_error>::operator->()
Line
Count
Source
1672
71.5k
    {
1673
71.5k
        return &value();
1674
71.5k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>, scn::v3::scan_error>::operator->()
Line
Count
Source
1672
56.0k
    {
1673
56.0k
        return &value();
1674
56.0k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>, scn::v3::scan_error>::operator->()
Line
Count
Source
1672
72.9k
    {
1673
72.9k
        return &value();
1674
72.9k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>, scn::v3::scan_error>::operator->()
Line
Count
Source
1672
56.8k
    {
1673
56.8k
        return &value();
1674
56.8k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>, scn::v3::scan_error>::operator->()
Line
Count
Source
1672
484
    {
1673
484
        return &value();
1674
484
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>, scn::v3::scan_error>::operator->()
Line
Count
Source
1672
411
    {
1673
411
        return &value();
1674
411
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v3::scan_error>::operator->()
Line
Count
Source
1672
600
    {
1673
600
        return &value();
1674
600
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v3::scan_error>::operator->()
Line
Count
Source
1672
475
    {
1673
475
        return &value();
1674
475
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>, scn::v3::scan_error>::operator->()
Line
Count
Source
1672
717
    {
1673
717
        return &value();
1674
717
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>, scn::v3::scan_error>::operator->()
Line
Count
Source
1672
565
    {
1673
565
        return &value();
1674
565
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>, scn::v3::scan_error>::operator->()
Line
Count
Source
1672
484
    {
1673
484
        return &value();
1674
484
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>, scn::v3::scan_error>::operator->()
Line
Count
Source
1672
411
    {
1673
411
        return &value();
1674
411
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>, scn::v3::scan_error>::operator->()
Line
Count
Source
1672
600
    {
1673
600
        return &value();
1674
600
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>, scn::v3::scan_error>::operator->()
Line
Count
Source
1672
475
    {
1673
475
        return &value();
1674
475
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>, scn::v3::scan_error>::operator->()
Line
Count
Source
1672
717
    {
1673
717
        return &value();
1674
717
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>, scn::v3::scan_error>::operator->()
Line
Count
Source
1672
565
    {
1673
565
        return &value();
1674
565
    }
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::operator->()
scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::operator->()
Line
Count
Source
1672
124k
    {
1673
124k
        return &value();
1674
124k
    }
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::operator->()
scn::v3::expected<std::__1::pair<char const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::operator->()
Line
Count
Source
1672
29.5k
    {
1673
29.5k
        return &value();
1674
29.5k
    }
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::operator->()
scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::operator->()
Line
Count
Source
1672
11.6k
    {
1673
11.6k
        return &value();
1674
11.6k
    }
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::operator->()
scn::v3::expected<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::operator->()
Line
Count
Source
1672
4.02k
    {
1673
4.02k
        return &value();
1674
4.02k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, float>, scn::v3::scan_error>::operator->()
Line
Count
Source
1672
309k
    {
1673
309k
        return &value();
1674
309k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, double>, scn::v3::scan_error>::operator->()
Line
Count
Source
1672
319k
    {
1673
319k
        return &value();
1674
319k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long double>, scn::v3::scan_error>::operator->()
Line
Count
Source
1672
326k
    {
1673
326k
        return &value();
1674
326k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, float>, scn::v3::scan_error>::operator->()
Line
Count
Source
1672
356k
    {
1673
356k
        return &value();
1674
356k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, double>, scn::v3::scan_error>::operator->()
Line
Count
Source
1672
372k
    {
1673
372k
        return &value();
1674
372k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long double>, scn::v3::scan_error>::operator->()
Line
Count
Source
1672
378k
    {
1673
378k
        return &value();
1674
378k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, float>, scn::v3::scan_error>::operator->()
Line
Count
Source
1672
114k
    {
1673
114k
        return &value();
1674
114k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>, scn::v3::scan_error>::operator->()
Line
Count
Source
1672
134k
    {
1673
134k
        return &value();
1674
134k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long double>, scn::v3::scan_error>::operator->()
Line
Count
Source
1672
138k
    {
1673
138k
        return &value();
1674
138k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, float>, scn::v3::scan_error>::operator->()
Line
Count
Source
1672
114k
    {
1673
114k
        return &value();
1674
114k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, double>, scn::v3::scan_error>::operator->()
Line
Count
Source
1672
134k
    {
1673
134k
        return &value();
1674
134k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long double>, scn::v3::scan_error>::operator->()
Line
Count
Source
1672
137k
    {
1673
137k
        return &value();
1674
137k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::operator->()
Line
Count
Source
1672
110k
    {
1673
110k
        return &value();
1674
110k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >, scn::v3::scan_error>::operator->()
Line
Count
Source
1672
110k
    {
1673
110k
        return &value();
1674
110k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::operator->()
Line
Count
Source
1672
138k
    {
1673
138k
        return &value();
1674
138k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error>::operator->()
Line
Count
Source
1672
833k
    {
1673
833k
        return &value();
1674
833k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, scn::v3::scan_error>::operator->()
Line
Count
Source
1672
833k
    {
1673
833k
        return &value();
1674
833k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error>::operator->()
Line
Count
Source
1672
833k
    {
1673
833k
        return &value();
1674
833k
    }
1675
    constexpr const value_type* operator->() const noexcept
1676
    {
1677
        return &value();
1678
    }
1679
1680
    /// Returns the expected value if *this contains one, otherwise
1681
    /// returns default_value
1682
    template <typename U,
1683
              typename = std::enable_if_t<std::is_copy_constructible_v<T> &&
1684
                                          std::is_convertible_v<U, T>>>
1685
    constexpr T value_or(U&& default_value) const& noexcept(
1686
        std::is_nothrow_copy_constructible_v<T> &&
1687
        std::is_nothrow_constructible_v<T, U&&>)
1688
    {
1689
        if (has_value()) {
1690
            return value();
1691
        }
1692
        return std::forward<U>(default_value);
1693
    }
1694
    template <typename U,
1695
              typename = std::enable_if_t<std::is_move_constructible_v<T> &&
1696
                                          std::is_convertible_v<U, T>>>
1697
    constexpr T value_or(U&& default_value) && noexcept(
1698
        std::is_nothrow_move_constructible_v<T> &&
1699
        std::is_nothrow_constructible_v<T, U&&>)
1700
    {
1701
        if (has_value()) {
1702
            return std::move(value());
1703
        }
1704
        return std::forward<U>(default_value);
1705
    }
1706
1707
    template <typename G,
1708
              typename = std::enable_if_t<std::is_copy_constructible_v<E> &&
1709
                                          std::is_convertible_v<G, E>>>
1710
    constexpr E error_or(G&& default_error) const& noexcept(
1711
        std::is_nothrow_copy_constructible_v<E> &&
1712
        std::is_nothrow_constructible_v<E, G&&>)
1713
    {
1714
        if (!has_value()) {
1715
            return error();
1716
        }
1717
        return std::forward<G>(default_error);
1718
    }
1719
    template <typename G,
1720
              typename = std::enable_if_t<std::is_move_constructible_v<E> &&
1721
                                          std::is_convertible_v<G, E>>>
1722
    constexpr E error_or(G&& default_error) && noexcept(
1723
        std::is_nothrow_move_constructible_v<E> &&
1724
        std::is_nothrow_constructible_v<E, G&&>)
1725
    {
1726
        if (!has_value()) {
1727
            return std::move(error());
1728
        }
1729
        return std::forward<G>(default_error);
1730
    }
1731
1732
    template <typename F>
1733
    constexpr auto and_then(F&& f) & noexcept(noexcept(
1734
        detail::and_then_impl(SCN_DECLVAL(expected&), std::forward<F>(f))))
1735
        -> decltype(detail::and_then_impl(*this, std::forward<F>(f)))
1736
    {
1737
        return detail::and_then_impl(*this, std::forward<F>(f));
1738
    }
1739
    template <typename F>
1740
    constexpr auto and_then(F&& f) const& noexcept(
1741
        noexcept(detail::and_then_impl(SCN_DECLVAL(const expected&),
1742
                                       std::forward<F>(f))))
1743
        -> decltype(detail::and_then_impl(*this, std::forward<F>(f)))
1744
    {
1745
        return detail::and_then_impl(*this, std::forward<F>(f));
1746
    }
1747
    template <typename F>
1748
    constexpr auto and_then(F&& f) && noexcept(noexcept(
1749
        detail::and_then_impl(SCN_DECLVAL(expected&&), std::forward<F>(f))))
1750
        -> decltype(detail::and_then_impl(*this, std::forward<F>(f)))
1751
    {
1752
        return detail::and_then_impl(std::move(*this), std::forward<F>(f));
1753
    }
1754
    template <typename F>
1755
    constexpr auto and_then(F&& f) const&& noexcept(
1756
        noexcept(detail::and_then_impl(SCN_DECLVAL(const expected&&),
1757
                                       std::forward<F>(f))))
1758
        -> decltype(detail::and_then_impl(*this, std::forward<F>(f)))
1759
    {
1760
        return detail::and_then_impl(std::move(*this), std::forward<F>(f));
1761
    }
1762
1763
    template <typename F>
1764
    constexpr auto or_else(F&& f) & noexcept(noexcept(
1765
        detail::or_else_impl(SCN_DECLVAL(expected&), std::forward<F>(f))))
1766
        -> decltype(detail::or_else_impl(*this, std::forward<F>(f)))
1767
    {
1768
        return detail::or_else_impl(*this, std::forward<F>(f));
1769
    }
1770
    template <typename F>
1771
    constexpr auto or_else(F&& f) const& noexcept(noexcept(
1772
        detail::or_else_impl(SCN_DECLVAL(const expected&), std::forward<F>(f))))
1773
        -> decltype(detail::or_else_impl(*this, std::forward<F>(f)))
1774
    {
1775
        return detail::or_else_impl(*this, std::forward<F>(f));
1776
    }
1777
    template <typename F>
1778
    constexpr auto or_else(F&& f) && noexcept(noexcept(
1779
        detail::or_else_impl(SCN_DECLVAL(expected&&), std::forward<F>(f))))
1780
        -> decltype(detail::or_else_impl(*this, std::forward<F>(f)))
1781
    {
1782
        return detail::or_else_impl(std::move(*this), std::forward<F>(f));
1783
    }
1784
    template <typename F>
1785
    constexpr auto or_else(F&& f) const&& noexcept(
1786
        noexcept(detail::or_else_impl(SCN_DECLVAL(const expected&&),
1787
                                      std::forward<F>(f))))
1788
        -> decltype(detail::or_else_impl(*this, std::forward<F>(f)))
1789
    {
1790
        return detail::or_else_impl(std::move(*this), std::forward<F>(f));
1791
    }
1792
1793
    template <typename F>
1794
    constexpr auto transform(
1795
        F&& f) & -> decltype(detail::transform_impl(*this, std::forward<F>(f)))
1796
    {
1797
        return detail::transform_impl(*this, std::forward<F>(f));
1798
    }
1799
    template <typename F>
1800
    constexpr auto transform(F&& f)
1801
        const& -> decltype(detail::transform_impl(*this, std::forward<F>(f)))
1802
    {
1803
        return detail::transform_impl(*this, std::forward<F>(f));
1804
    }
1805
    template <typename F>
1806
    constexpr auto transform(
1807
        F&& f) && -> decltype(detail::transform_impl(*this, std::forward<F>(f)))
1808
    {
1809
        return detail::transform_impl(std::move(*this), std::forward<F>(f));
1810
    }
1811
    template <typename F>
1812
    constexpr auto transform(F&& f)
1813
        const&& -> decltype(detail::transform_impl(*this, std::forward<F>(f)))
1814
    {
1815
        return detail::transform_impl(std::move(*this), std::forward<F>(f));
1816
    }
1817
1818
    template <typename F>
1819
    constexpr auto transform_error(
1820
        F&& f) & -> decltype(detail::transform_error_impl(*this,
1821
                                                          std::forward<F>(f)))
1822
3.49M
    {
1823
3.49M
        return detail::transform_error_impl(*this, std::forward<F>(f));
1824
3.49M
    }
Unexecuted instantiation: _ZNR3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEE15transform_errorIZNS2_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlSC_E_EEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSK_
_ZNR3scn2v38expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl11parse_errorEE15transform_errorIZNS6_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlS7_E_EEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSF_
Line
Count
Source
1822
1.15M
    {
1823
1.15M
        return detail::transform_error_impl(*this, std::forward<F>(f));
1824
1.15M
    }
_ZNR3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS2_11parse_errorEE15transform_errorIZNS2_29map_parse_error_to_scan_errorENS0_10scan_error4codeES6_EUlS8_E_EEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSE_
Line
Count
Source
1822
548
    {
1823
548
        return detail::transform_error_impl(*this, std::forward<F>(f));
1824
548
    }
_ZNR3scn2v38expectedIPKcNS0_4impl11parse_errorEE15transform_errorIZNS4_29map_parse_error_to_scan_errorENS0_10scan_error4codeES3_EUlS5_E_EEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSB_
Line
Count
Source
1822
982k
    {
1823
982k
        return detail::transform_error_impl(*this, std::forward<F>(f));
1824
982k
    }
Unexecuted instantiation: _ZNR3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEE15transform_errorIZNS2_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlSC_E_EEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSK_
_ZNR3scn2v38expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl11parse_errorEE15transform_errorIZNS6_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlS7_E_EEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSF_
Line
Count
Source
1822
721k
    {
1823
721k
        return detail::transform_error_impl(*this, std::forward<F>(f));
1824
721k
    }
_ZNR3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS2_11parse_errorEE15transform_errorIZNS2_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlS8_E_EEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSG_
Line
Count
Source
1822
232
    {
1823
232
        return detail::transform_error_impl(*this, std::forward<F>(f));
1824
232
    }
_ZNR3scn2v38expectedIPKwNS0_4impl11parse_errorEE15transform_errorIZNS4_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlS5_E_EEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSD_
Line
Count
Source
1822
633k
    {
1823
633k
        return detail::transform_error_impl(*this, std::forward<F>(f));
1824
633k
    }
1825
    template <typename F>
1826
    constexpr auto transform_error(F&& f)
1827
        const& -> decltype(detail::transform_error_impl(*this,
1828
                                                        std::forward<F>(f)))
1829
    {
1830
        return detail::transform_error_impl(*this, std::forward<F>(f));
1831
    }
1832
    template <typename F>
1833
    constexpr auto transform_error(
1834
        F&& f) && -> decltype(detail::transform_error_impl(*this,
1835
                                                           std::forward<F>(f)))
1836
18.8M
    {
1837
18.8M
        return detail::transform_error_impl(std::move(*this),
1838
18.8M
                                            std::forward<F>(f));
1839
18.8M
    }
_ZNO3scn2v38expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl9eof_errorEE15transform_errorIRFNS0_10scan_errorES7_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSD_
Line
Count
Source
1836
1.76M
    {
1837
1.76M
        return detail::transform_error_impl(std::move(*this),
1838
1.76M
                                            std::forward<F>(f));
1839
1.76M
    }
_ZNO3scn2v38expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl9eof_errorEE15transform_errorIRFNS0_10scan_errorES7_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSD_
Line
Count
Source
1836
1.53M
    {
1837
1.53M
        return detail::transform_error_impl(std::move(*this),
1838
1.53M
                                            std::forward<F>(f));
1839
1.53M
    }
_ZNO3scn2v38expectedIPKcNS0_4impl9eof_errorEE15transform_errorIRFNS0_10scan_errorES5_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSB_
Line
Count
Source
1836
1.71M
    {
1837
1.71M
        return detail::transform_error_impl(std::move(*this),
1838
1.71M
                                            std::forward<F>(f));
1839
1.71M
    }
Unexecuted instantiation: _ZNO3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_INS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_15take_width_viewINS9_6detail9subrange_8subrangeIS8_SA_EEE8sentinelILb1EEEEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorESL_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSR_
Unexecuted instantiation: _ZNO3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorESC_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSI_
Unexecuted instantiation: _ZNO3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_9eof_errorEE15transform_errorIRFNS2_11parse_errorESC_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSI_
Unexecuted instantiation: _ZNO3scn2v38expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorESE_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSK_
Unexecuted instantiation: _ZNO3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEE15transform_errorIZNS2_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlSC_E_EEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSK_
_ZNO3scn2v38expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl9eof_errorEE15transform_errorIRFNS6_11parse_errorES7_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSD_
Line
Count
Source
1836
3.48M
    {
1837
3.48M
        return detail::transform_error_impl(std::move(*this),
1838
3.48M
                                            std::forward<F>(f));
1839
3.48M
    }
_ZNO3scn2v38expectedINS0_4impl27parse_integer_prefix_resultINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorES9_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSF_
Line
Count
Source
1836
419k
    {
1837
419k
        return detail::transform_error_impl(std::move(*this),
1838
419k
                                            std::forward<F>(f));
1839
419k
    }
_ZNO3scn2v38expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl11parse_errorEE15transform_errorIZNS6_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlS7_E_EEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSF_
Line
Count
Source
1836
315k
    {
1837
315k
        return detail::transform_error_impl(std::move(*this),
1838
315k
                                            std::forward<F>(f));
1839
315k
    }
Unexecuted instantiation: _ZNO3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKcS6_EENS2_15take_width_viewINSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEE8sentinelILb1EEEEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorESI_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSO_
_ZNO3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorES8_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSE_
Line
Count
Source
1836
746
    {
1837
746
        return detail::transform_error_impl(std::move(*this),
1838
746
                                            std::forward<F>(f));
1839
746
    }
_ZNO3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS2_9eof_errorEE15transform_errorIRFNS2_11parse_errorES8_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSE_
Line
Count
Source
1836
1.81k
    {
1837
1.81k
        return detail::transform_error_impl(std::move(*this),
1838
1.81k
                                            std::forward<F>(f));
1839
1.81k
    }
_ZNO3scn2v38expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorESA_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSG_
Line
Count
Source
1836
834
    {
1837
834
        return detail::transform_error_impl(std::move(*this),
1838
834
                                            std::forward<F>(f));
1839
834
    }
_ZNO3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS2_11parse_errorEE15transform_errorIZNS2_29map_parse_error_to_scan_errorENS0_10scan_error4codeES6_EUlS8_E_EEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSE_
Line
Count
Source
1836
814
    {
1837
814
        return detail::transform_error_impl(std::move(*this),
1838
814
                                            std::forward<F>(f));
1839
814
    }
_ZNO3scn2v38expectedINS0_4impl27parse_integer_prefix_resultIPKcEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorES7_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSD_
Line
Count
Source
1836
423k
    {
1837
423k
        return detail::transform_error_impl(std::move(*this),
1838
423k
                                            std::forward<F>(f));
1839
423k
    }
Unexecuted instantiation: _ZNO3scn2v38expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9sign_typeEEENS4_9eof_errorEE15transform_errorIRFNS0_10scan_errorESG_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSM_
_ZNO3scn2v38expectedINSt3__14pairINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl9sign_typeEEENS8_9eof_errorEE15transform_errorIRFNS0_10scan_errorESB_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSH_
Line
Count
Source
1836
1.17M
    {
1837
1.17M
        return detail::transform_error_impl(std::move(*this),
1838
1.17M
                                            std::forward<F>(f));
1839
1.17M
    }
_ZNO3scn2v38expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS4_9sign_typeEEENS4_9eof_errorEE15transform_errorIRFNS0_10scan_errorESC_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSI_
Line
Count
Source
1836
274
    {
1837
274
        return detail::transform_error_impl(std::move(*this),
1838
274
                                            std::forward<F>(f));
1839
274
    }
_ZNO3scn2v38expectedINSt3__14pairIPKcNS0_4impl9sign_typeEEENS6_9eof_errorEE15transform_errorIRFNS0_10scan_errorES9_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSF_
Line
Count
Source
1836
1.02M
    {
1837
1.02M
        return detail::transform_error_impl(std::move(*this),
1838
1.02M
                                            std::forward<F>(f));
1839
1.02M
    }
Unexecuted instantiation: _ZNO3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_INS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_15take_width_viewINS9_6detail9subrange_8subrangeIS8_SA_EEE8sentinelILb1EEEEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorESL_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSR_
Unexecuted instantiation: _ZNO3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorESC_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSI_
Unexecuted instantiation: _ZNO3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_9eof_errorEE15transform_errorIRFNS2_11parse_errorESC_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSI_
Unexecuted instantiation: _ZNO3scn2v38expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorESE_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSK_
Unexecuted instantiation: _ZNO3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEE15transform_errorIZNS2_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlSC_E_EEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSK_
_ZNO3scn2v38expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl9eof_errorEE15transform_errorIRFNS6_11parse_errorES7_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSD_
Line
Count
Source
1836
1.57M
    {
1837
1.57M
        return detail::transform_error_impl(std::move(*this),
1838
1.57M
                                            std::forward<F>(f));
1839
1.57M
    }
_ZNO3scn2v38expectedINS0_4impl27parse_integer_prefix_resultINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorES9_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSF_
Line
Count
Source
1836
128k
    {
1837
128k
        return detail::transform_error_impl(std::move(*this),
1838
128k
                                            std::forward<F>(f));
1839
128k
    }
_ZNO3scn2v38expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl11parse_errorEE15transform_errorIZNS6_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlS7_E_EEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSF_
Line
Count
Source
1836
110k
    {
1837
110k
        return detail::transform_error_impl(std::move(*this),
1838
110k
                                            std::forward<F>(f));
1839
110k
    }
Unexecuted instantiation: _ZNO3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKwS6_EENS2_15take_width_viewINSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEE8sentinelILb1EEEEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorESI_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSO_
_ZNO3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorES8_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSE_
Line
Count
Source
1836
294
    {
1837
294
        return detail::transform_error_impl(std::move(*this),
1838
294
                                            std::forward<F>(f));
1839
294
    }
_ZNO3scn2v38expectedIPKwNS0_4impl9eof_errorEE15transform_errorIRFNS0_10scan_errorES5_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSB_
Line
Count
Source
1836
2.38M
    {
1837
2.38M
        return detail::transform_error_impl(std::move(*this),
1838
2.38M
                                            std::forward<F>(f));
1839
2.38M
    }
_ZNO3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS2_9eof_errorEE15transform_errorIRFNS2_11parse_errorES8_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSE_
Line
Count
Source
1836
808
    {
1837
808
        return detail::transform_error_impl(std::move(*this),
1838
808
                                            std::forward<F>(f));
1839
808
    }
_ZNO3scn2v38expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorESA_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSG_
Line
Count
Source
1836
378
    {
1837
378
        return detail::transform_error_impl(std::move(*this),
1838
378
                                            std::forward<F>(f));
1839
378
    }
_ZNO3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS2_11parse_errorEE15transform_errorIZNS2_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlS8_E_EEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSG_
Line
Count
Source
1836
338
    {
1837
338
        return detail::transform_error_impl(std::move(*this),
1838
338
                                            std::forward<F>(f));
1839
338
    }
_ZNO3scn2v38expectedIPKwNS0_4impl9eof_errorEE15transform_errorIRFNS4_11parse_errorES5_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSB_
Line
Count
Source
1836
1.57M
    {
1837
1.57M
        return detail::transform_error_impl(std::move(*this),
1838
1.57M
                                            std::forward<F>(f));
1839
1.57M
    }
_ZNO3scn2v38expectedINS0_4impl27parse_integer_prefix_resultIPKwEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorES7_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSD_
Line
Count
Source
1836
130k
    {
1837
130k
        return detail::transform_error_impl(std::move(*this),
1838
130k
                                            std::forward<F>(f));
1839
130k
    }
Unexecuted instantiation: _ZNO3scn2v38expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9sign_typeEEENS4_9eof_errorEE15transform_errorIRFNS0_10scan_errorESG_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSM_
_ZNO3scn2v38expectedINSt3__14pairINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl9sign_typeEEENS8_9eof_errorEE15transform_errorIRFNS0_10scan_errorESB_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSH_
Line
Count
Source
1836
557k
    {
1837
557k
        return detail::transform_error_impl(std::move(*this),
1838
557k
                                            std::forward<F>(f));
1839
557k
    }
_ZNO3scn2v38expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS4_9sign_typeEEENS4_9eof_errorEE15transform_errorIRFNS0_10scan_errorESC_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSI_
Line
Count
Source
1836
116
    {
1837
116
        return detail::transform_error_impl(std::move(*this),
1838
116
                                            std::forward<F>(f));
1839
116
    }
_ZNO3scn2v38expectedINSt3__14pairIPKwNS0_4impl9sign_typeEEENS6_9eof_errorEE15transform_errorIRFNS0_10scan_errorES9_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSF_
Line
Count
Source
1836
558k
    {
1837
558k
        return detail::transform_error_impl(std::move(*this),
1838
558k
                                            std::forward<F>(f));
1839
558k
    }
_ZNO3scn2v38expectedIPKcNS0_4impl9eof_errorEE15transform_errorIRFNS4_11parse_errorES5_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSB_
Line
Count
Source
1836
2.04k
    {
1837
2.04k
        return detail::transform_error_impl(std::move(*this),
1838
2.04k
                                            std::forward<F>(f));
1839
2.04k
    }
_ZNO3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKcS6_EENS2_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS6_S6_EEE8sentinelILb1EEEEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorESI_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSO_
Line
Count
Source
1836
1.98k
    {
1837
1.98k
        return detail::transform_error_impl(std::move(*this),
1838
1.98k
                                            std::forward<F>(f));
1839
1.98k
    }
_ZNO3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKwS6_EENS2_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS6_S6_EEE8sentinelILb1EEEEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorESI_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSO_
Line
Count
Source
1836
754
    {
1837
754
        return detail::transform_error_impl(std::move(*this),
1838
754
                                            std::forward<F>(f));
1839
754
    }
1840
    template <typename F>
1841
    constexpr auto transform_error(F&& f)
1842
        const&& -> decltype(detail::transform_error_impl(*this,
1843
                                                         std::forward<F>(f)))
1844
    {
1845
        return detail::transform_error_impl(std::move(*this),
1846
                                            std::forward<F>(f));
1847
    }
1848
1849
private:
1850
    template <typename... Args>
1851
    void emplace_impl(Args&&... args) noexcept(
1852
        std::is_nothrow_constructible_v<T, Args&&...>)
1853
    {
1854
        if (this->has_value()) {
1855
            this->destroy_value();
1856
            this->construct(std::forward<Args>(args)...);
1857
        }
1858
        else {
1859
#if SCN_HAS_EXCEPTIONS
1860
            if constexpr (std::is_nothrow_constructible_v<T, Args&&...>) {
1861
                auto tmp = std::move(error());
1862
                this->destroy_unexpected();
1863
1864
                try {
1865
                    this->construct(std::forward<Args>(args)...);
1866
                }
1867
                catch (...) {
1868
                    this->construct_unexpected(std::move(tmp));
1869
                    throw;
1870
                }
1871
            }
1872
            else {
1873
                this->construct(std::forward<Args>(args)...);
1874
            }
1875
#else
1876
            this->destroy_unexpected();
1877
            this->construct(std::forward<Args>(args)...);
1878
#endif
1879
        }
1880
    }
1881
1882
    template <typename Value>
1883
    void assign_value(Value&& val) noexcept(
1884
        std::is_nothrow_constructible_v<detail::remove_cvref_t<Value>,
1885
                                        Value&&> &&
1886
        std::is_nothrow_assignable_v<T, Value&&>)
1887
    {
1888
        if (has_value()) {
1889
            this->get_value() = std::forward<Value>(val);
1890
            return;
1891
        }
1892
1893
#if SCN_HAS_EXCEPTIONS
1894
        if constexpr (std::is_nothrow_constructible_v<T, Value&&>) {
1895
            this->destroy_unexpected();
1896
            this->construct(std::forward<Value>(val));
1897
        }
1898
        else {
1899
            auto tmp = std::move(this->get_unexpected());
1900
            this->destroy_unexpected();
1901
1902
            try {
1903
                this->construct(std::forward<Value>(val));
1904
            }
1905
            catch (...) {
1906
                this->construct_unexpected(std::move(tmp));
1907
            }
1908
        }
1909
#else
1910
        this->destroy_unexpected();
1911
        this->construct(std::forward<Value>(val));
1912
#endif
1913
    }
1914
1915
    template <typename Unexpected>
1916
    void assign_unexpected(Unexpected&& unex) noexcept(
1917
        std::is_nothrow_constructible_v<E, Unexpected&&> &&
1918
        std::is_nothrow_assignable_v<E, Unexpected&&>)
1919
    {
1920
        if (!has_value()) {
1921
            this->get_unexpected() = std::forward<Unexpected>(unex);
1922
            return;
1923
        }
1924
1925
        this->destroy_value();
1926
        this->construct_unexpected(std::forward<Unexpected>(unex));
1927
    }
1928
};
1929
1930
/////////////////////////////////////////////////////////////////
1931
// <ranges> implementation
1932
/////////////////////////////////////////////////////////////////
1933
1934
// The following is a very minimal <ranges> implementation,
1935
// which is a heavily stripped-down and adapted version of NanoRange:
1936
//   https://github.com/tcbrindle/NanoRange
1937
// NanoRange is provided under the Boost license.
1938
//   Copyright (c) 2018 Tristan Brindle (tcbrindle at gmail dot com)
1939
1940
namespace ranges {
1941
1942
namespace detail {
1943
using namespace scn::detail;
1944
1945
template <typename T>
1946
constexpr auto decay_copy(T&& t) noexcept(
1947
    noexcept(static_cast<std::decay_t<T>>(SCN_FWD(t)))) -> std::decay_t<T>
1948
311M
{
1949
311M
    return SCN_FWD(t);
1950
311M
}
_ZN3scn2v36ranges6detail10decay_copyIPKcEEu7__decayIT_EOS6_
Line
Count
Source
1948
16.8M
{
1949
16.8M
    return SCN_FWD(t);
1950
16.8M
}
_ZN3scn2v36ranges6detail10decay_copyImEEu7__decayIT_EOS4_
Line
Count
Source
1948
7.16M
{
1949
7.16M
    return SCN_FWD(t);
1950
7.16M
}
_ZN3scn2v36ranges6detail10decay_copyINSt3__116__deque_iteratorIcPKcRS6_PKS7_lLl4096EEEEEu7__decayIT_EOSC_
Line
Count
Source
1948
66.3M
{
1949
66.3M
    return SCN_FWD(t);
1950
66.3M
}
_ZN3scn2v36ranges6detail10decay_copyIPKwEEu7__decayIT_EOS6_
Line
Count
Source
1948
16.4M
{
1949
16.4M
    return SCN_FWD(t);
1950
16.4M
}
_ZN3scn2v36ranges6detail10decay_copyINSt3__116__deque_iteratorIwPKwRS6_PKS7_lLl1024EEEEEu7__decayIT_EOSC_
Line
Count
Source
1948
203M
{
1949
203M
    return SCN_FWD(t);
1950
203M
}
Unexecuted instantiation: _ZN3scn2v36ranges6detail10decay_copyINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS1_18default_sentinel_tEEEEEu7__decayIT_EOSD_
_ZN3scn2v36ranges6detail10decay_copyINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EEEEu7__decayIT_EOSA_
Line
Count
Source
1948
3.61k
{
1949
3.61k
    return SCN_FWD(t);
1950
3.61k
}
_ZN3scn2v36ranges6detail10decay_copyINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEEu7__decayIT_EOS8_
Line
Count
Source
1948
829k
{
1949
829k
    return SCN_FWD(t);
1950
829k
}
Unexecuted instantiation: _ZN3scn2v36ranges6detail10decay_copyINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS1_18default_sentinel_tEEEEEu7__decayIT_EOSD_
_ZN3scn2v36ranges6detail10decay_copyINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EEEEu7__decayIT_EOSA_
Line
Count
Source
1948
1.09k
{
1949
1.09k
    return SCN_FWD(t);
1950
1.09k
}
_ZN3scn2v36ranges6detail10decay_copyINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEEu7__decayIT_EOS8_
Line
Count
Source
1948
449k
{
1949
449k
    return SCN_FWD(t);
1950
449k
}
1951
1952
template <bool>
1953
struct conditional {
1954
    template <typename T, typename>
1955
    using type = T;
1956
};
1957
1958
template <>
1959
struct conditional<false> {
1960
    template <typename, typename U>
1961
    using type = U;
1962
};
1963
1964
template <bool B, typename T, typename U>
1965
using conditional_t = typename conditional<B>::template type<T, U>;
1966
1967
template <template <class...> class AliasT, typename... Args>
1968
auto exists_helper(long) -> std::false_type;
1969
1970
template <template <class...> class AliasT,
1971
          typename... Args,
1972
          typename = AliasT<Args...>>
1973
auto exists_helper(int) -> std::true_type;
1974
1975
template <template <class...> class AliasT, typename... Args>
1976
inline constexpr bool exists_v =
1977
    decltype(exists_helper<AliasT, Args...>(0))::value;
1978
1979
template <typename, typename...>
1980
auto test_requires_fn(long) -> std::false_type;
1981
1982
template <typename R,
1983
          typename... Args,
1984
          typename = decltype(&R::template requires_<Args...>)>
1985
auto test_requires_fn(int) -> std::true_type;
1986
1987
template <typename R, typename... Args>
1988
inline constexpr bool requires_ =
1989
    decltype(test_requires_fn<R, Args...>(0))::value;
1990
1991
template <bool Expr>
1992
using requires_expr = std::enable_if_t<Expr, int>;
1993
}  // namespace detail
1994
1995
template <typename>
1996
inline constexpr bool enable_borrowed_range = false;
1997
1998
namespace detail {
1999
template <typename T>
2000
inline constexpr bool boolean_testable_impl = std::is_convertible_v<T, bool>;
2001
2002
struct boolean_testable_concept {
2003
    template <typename T>
2004
    auto requires_(T&& t)
2005
        -> requires_expr<boolean_testable_impl<decltype(!std::forward<T>(t))>>;
2006
};
2007
2008
template <typename T>
2009
inline constexpr bool boolean_testable =
2010
    boolean_testable_impl<T> && detail::requires_<boolean_testable_concept, T>;
2011
}  // namespace detail
2012
2013
namespace detail {
2014
struct weakly_equality_comparable_with_concept {
2015
    template <typename T, typename U>
2016
    auto requires_(const std::remove_reference_t<T>& t,
2017
                   const std::remove_reference_t<U>& u)
2018
        -> decltype(requires_expr<boolean_testable<decltype(t == u)>>{},
2019
                    requires_expr<boolean_testable<decltype(t != u)>>{},
2020
                    requires_expr<boolean_testable<decltype(u == t)>>{},
2021
                    requires_expr<boolean_testable<decltype(u != t)>>{});
2022
};
2023
2024
template <typename T, typename U>
2025
inline constexpr bool weakly_equality_comparable_with =
2026
    requires_<weakly_equality_comparable_with_concept, T, U>;
2027
}  // namespace detail
2028
2029
template <typename T>
2030
inline constexpr bool equality_comparable =
2031
    detail::weakly_equality_comparable_with<T, T>;
2032
2033
namespace detail {
2034
struct equality_comparable_with_concept {
2035
    template <typename, typename>
2036
    static auto test(long) -> std::false_type;
2037
2038
    template <typename T, typename U>
2039
    static auto test(int)
2040
        -> std::enable_if_t<equality_comparable<T> && equality_comparable<U> &&
2041
#if 0
2042
            common_reference_with<const std::remove_reference_t<T>&,
2043
                                  const std::remove_reference_t<U>&> &&
2044
            equality_comparable<
2045
                common_reference_t<const std::remove_reference_t<T>&,
2046
                                   const std::remove_reference_t<U>&>> &&
2047
#endif
2048
                                weakly_equality_comparable_with<T, U>,
2049
                            std::true_type>;
2050
};
2051
}  // namespace detail
2052
2053
template <typename T, typename U>
2054
inline constexpr bool equality_comparable_with =
2055
    decltype(detail::equality_comparable_with_concept::test<T, U>(0))::value;
2056
2057
namespace detail {
2058
struct partially_ordered_with_concept {
2059
    template <typename T, typename U>
2060
    auto requires_(const std::remove_reference_t<T>& t,
2061
                   const std::remove_reference_t<U>& u)
2062
        -> decltype(requires_expr<boolean_testable<decltype(t < u)>>{},
2063
                    requires_expr<boolean_testable<decltype(t > u)>>{},
2064
                    requires_expr<boolean_testable<decltype(t <= u)>>{},
2065
                    requires_expr<boolean_testable<decltype(t >= u)>>{},
2066
                    requires_expr<boolean_testable<decltype(u < t)>>{},
2067
                    requires_expr<boolean_testable<decltype(u > t)>>{},
2068
                    requires_expr<boolean_testable<decltype(u <= t)>>{},
2069
                    requires_expr<boolean_testable<decltype(u >= t)>>{});
2070
};
2071
2072
template <typename T, typename U>
2073
inline constexpr bool partially_ordered_with =
2074
    detail::requires_<detail::partially_ordered_with_concept, T, U>;
2075
}  // namespace detail
2076
2077
template <typename T>
2078
inline constexpr bool totally_ordered =
2079
    equality_comparable<T> && detail::partially_ordered_with<T, T>;
2080
2081
namespace detail {
2082
struct totally_ordered_with_concept {
2083
    template <typename, typename>
2084
    static auto test(long) -> std::false_type;
2085
2086
    template <typename T, typename U>
2087
    static auto test(int)
2088
        -> std::enable_if_t<totally_ordered<T> && totally_ordered<U> &&
2089
                                equality_comparable_with<T, U> &&
2090
#if 0
2091
                                totally_ordered<common_reference_t<
2092
                                    const std::remove_reference_t<T>&,
2093
                                    const std::remove_reference_t<U>&>> &&
2094
#endif
2095
                                partially_ordered_with<T, U>,
2096
                            std::true_type>;
2097
};
2098
}  // namespace detail
2099
2100
template <typename T, typename U>
2101
inline constexpr bool totally_ordered_with =
2102
    decltype(detail::totally_ordered_with_concept::test<T, U>(0))::value;
2103
2104
namespace detail {
2105
struct movable_concept {
2106
    template <typename T>
2107
    static auto test(long) -> std::false_type;
2108
2109
    template <typename T>
2110
    static auto test(int) -> std::enable_if_t<
2111
        std::is_object_v<T> && std::is_move_constructible_v<T> &&
2112
            std::is_move_assignable_v<T> && std::is_swappable_v<T>,
2113
        std::true_type>;
2114
};
2115
}  // namespace detail
2116
2117
template <typename T>
2118
inline constexpr bool movable =
2119
    decltype(detail::movable_concept::test<T>(0))::value;
2120
2121
namespace detail {
2122
struct copyable_concept {
2123
    template <typename>
2124
    static auto test(long) -> std::false_type;
2125
2126
    template <typename T>
2127
    static auto test(int)
2128
        -> std::enable_if_t<std::is_copy_constructible_v<T> && movable<T> &&
2129
                                std::is_copy_assignable_v<T>,
2130
                            std::true_type>;
2131
};
2132
}  // namespace detail
2133
2134
template <typename T>
2135
inline constexpr bool copyable =
2136
    decltype(detail::copyable_concept::test<T>(0))::value;
2137
2138
template <typename T>
2139
inline constexpr bool semiregular =
2140
    copyable<T> && std::is_default_constructible_v<T>;
2141
2142
template <typename T>
2143
inline constexpr bool regular = semiregular<T> && equality_comparable<T>;
2144
2145
template <typename>
2146
struct incrementable_traits;
2147
2148
namespace detail {
2149
struct empty {};
2150
2151
template <typename T>
2152
struct with_difference_type {
2153
    using difference_type = T;
2154
};
2155
2156
template <typename, typename = void>
2157
struct incrementable_traits_helper {};
2158
2159
// Workaround for GCC silliness: void* has no difference_type
2160
// FIXME: This is required to stop WeaklyIncrementable<void*> being a hard
2161
// error Can we formulate the concept differently to avoid the need for this
2162
// hack?
2163
template <>
2164
struct incrementable_traits_helper<void*> {};
2165
2166
template <typename T>
2167
struct incrementable_traits_helper<T*>
2168
    : detail::conditional_t<std::is_object_v<T>,
2169
                            with_difference_type<std::ptrdiff_t>,
2170
                            empty> {};
2171
2172
template <class I>
2173
struct incrementable_traits_helper<const I>
2174
    : incrementable_traits<std::decay_t<I>> {};
2175
2176
template <typename, typename = void>
2177
struct has_member_difference_type : std::false_type {};
2178
2179
template <typename T>
2180
struct has_member_difference_type<T, std::void_t<typename T::difference_type>>
2181
    : std::true_type {};
2182
2183
template <typename T>
2184
constexpr bool has_member_difference_type_v =
2185
    has_member_difference_type<T>::value;
2186
2187
template <typename T>
2188
struct incrementable_traits_helper<
2189
    T,
2190
    std::enable_if_t<has_member_difference_type_v<T>>> {
2191
    using difference_type = typename T::difference_type;
2192
};
2193
2194
template <typename T, typename = void>
2195
struct subtraction_result_type {
2196
    using type = void;
2197
};
2198
template <typename T>
2199
struct subtraction_result_type<
2200
    T,
2201
    std::void_t<decltype(std::declval<const T&>() -
2202
                         std::declval<const T&>())>> {
2203
    using type = decltype(std::declval<const T&>() - std::declval<const T&>());
2204
};
2205
2206
template <typename T>
2207
inline constexpr bool enable_incrtraits_subtractable =
2208
    !std::is_pointer_v<T> && !has_member_difference_type_v<T> &&
2209
    std::is_integral_v<typename subtraction_result_type<T>::type>;
2210
2211
template <typename T>
2212
struct incrementable_traits_helper<
2213
    T,
2214
    std::enable_if_t<enable_incrtraits_subtractable<T>>>
2215
    : with_difference_type<
2216
          std::make_signed_t<typename subtraction_result_type<T>::type>> {};
2217
}  // namespace detail
2218
2219
template <typename T>
2220
struct incrementable_traits : detail::incrementable_traits_helper<T> {};
2221
2222
template <typename T>
2223
using iter_difference_t = typename incrementable_traits<T>::difference_type;
2224
2225
template <typename>
2226
struct readable_traits;
2227
2228
namespace detail {
2229
template <typename T>
2230
struct with_value_type {
2231
    using value_type = T;
2232
};
2233
2234
template <typename, typename = void>
2235
struct readable_traits_helper {};
2236
2237
template <typename T>
2238
struct readable_traits_helper<T*>
2239
    : detail::conditional_t<std::is_object_v<T>,
2240
                            with_value_type<std::remove_cv_t<T>>,
2241
                            empty> {};
2242
2243
template <typename I>
2244
struct readable_traits_helper<I, std::enable_if_t<std::is_array_v<I>>>
2245
    : readable_traits<std::decay_t<I>> {};
2246
2247
template <typename I>
2248
struct readable_traits_helper<const I, std::enable_if_t<!std::is_array_v<I>>>
2249
    : readable_traits<std::decay_t<I>> {};
2250
2251
template <typename T, typename V = typename T::value_type>
2252
struct member_value_type
2253
    : detail::conditional_t<std::is_object_v<V>, with_value_type<V>, empty> {};
2254
2255
template <typename T, typename E = typename T::element_type>
2256
struct member_element_type
2257
    : detail::conditional_t<std::is_object_v<E>,
2258
                            with_value_type<std::remove_cv_t<E>>,
2259
                            empty> {};
2260
2261
template <typename T>
2262
using member_value_type_t = typename T::value_type;
2263
2264
template <typename T>
2265
constexpr bool has_member_value_type_v = exists_v<member_value_type_t, T>;
2266
2267
template <typename T>
2268
using member_element_type_t = typename T::element_type;
2269
2270
template <typename T>
2271
constexpr bool has_member_element_type_v = exists_v<member_element_type_t, T>;
2272
2273
template <typename T>
2274
struct readable_traits_helper<T,
2275
                              std::enable_if_t<has_member_value_type_v<T> &&
2276
                                               !has_member_element_type_v<T>>>
2277
    : member_value_type<T> {};
2278
2279
template <typename T>
2280
struct readable_traits_helper<T,
2281
                              std::enable_if_t<has_member_element_type_v<T> &&
2282
                                               !has_member_value_type_v<T>>>
2283
    : member_element_type<T> {};
2284
2285
// A type which has both value_type and element_type members must specialise
2286
// readable_traits to tell us which one to prefer -- see
2287
// https://github.com/ericniebler/stl2/issues/562
2288
template <typename T>
2289
struct readable_traits_helper<T,
2290
                              std::enable_if_t<has_member_element_type_v<T> &&
2291
                                               has_member_value_type_v<T>>> {};
2292
}  // namespace detail
2293
2294
template <typename T>
2295
struct readable_traits : detail::readable_traits_helper<T> {};
2296
2297
template <typename T>
2298
using iter_value_t = typename readable_traits<T>::value_type;
2299
2300
namespace detail {
2301
template <typename T>
2302
using with_reference = T&;
2303
2304
struct can_reference_concept {
2305
    template <typename T>
2306
    auto requires_() -> with_reference<T>;
2307
};
2308
2309
template <typename T>
2310
inline constexpr bool can_reference =
2311
    detail::requires_<can_reference_concept, T>;
2312
2313
struct dereferencable_concept {
2314
    template <typename T>
2315
    auto requires_(T& t)
2316
        -> decltype(requires_expr<can_reference<decltype(*t)>>{});
2317
};
2318
2319
template <typename T>
2320
inline constexpr bool dereferenceable = requires_<dereferencable_concept, T>;
2321
2322
// GCC and Clang allow dereferencing void* as an extension.
2323
// Let's kill that off now.
2324
2325
template <>
2326
inline constexpr bool dereferenceable<void*> = false;
2327
}  // namespace detail
2328
2329
using std::bidirectional_iterator_tag;
2330
using std::forward_iterator_tag;
2331
using std::input_iterator_tag;
2332
using std::output_iterator_tag;
2333
using std::random_access_iterator_tag;
2334
2335
#if SCN_STD >= SCN_STD_20 && defined(__cpp_lib_ranges) && \
2336
    __cpp_lib_ranges >= 201911L
2337
using std::contiguous_iterator_tag;
2338
#else
2339
struct contiguous_iterator_tag : random_access_iterator_tag {};
2340
#endif
2341
2342
template <typename T>
2343
struct iterator_category;
2344
2345
namespace detail {
2346
template <typename T, typename = void>
2347
struct iterator_category_ {};
2348
template <typename T>
2349
struct iterator_category_<T*>
2350
    : std::enable_if<std::is_object_v<T>, contiguous_iterator_tag> {};
2351
template <typename T>
2352
struct iterator_category_<const T> : iterator_category<T> {};
2353
template <typename T>
2354
struct iterator_category_<T, std::void_t<typename T::iterator_category>> {
2355
    using type = typename T::iterator_category;
2356
};
2357
}  // namespace detail
2358
2359
template <typename T>
2360
struct iterator_category : detail::iterator_category_<T> {};
2361
template <typename T>
2362
using iterator_category_t = typename iterator_category<T>::type;
2363
2364
namespace detail {
2365
2366
template <typename T, typename = void>
2367
struct legacy_iterator_category : iterator_category<T> {};
2368
2369
template <typename T>
2370
struct legacy_iterator_category<
2371
    T,
2372
    std::enable_if_t<
2373
        std::is_same_v<iterator_category_t<T>, contiguous_iterator_tag>>> {
2374
    using type = random_access_iterator_tag;
2375
};
2376
2377
template <typename T>
2378
using legacy_iterator_category_t = typename legacy_iterator_category<T>::type;
2379
2380
}  // namespace detail
2381
2382
template <typename T>
2383
using iter_reference_t =
2384
    std::enable_if_t<detail::dereferenceable<T>, decltype(*std::declval<T&>())>;
2385
2386
namespace detail {
2387
2388
struct readable_concept {
2389
    template <typename In>
2390
    auto requires_() -> decltype(std::declval<iter_value_t<In>>(),
2391
                                 std::declval<iter_reference_t<In>>());
2392
    // std::declval<iter_rvalue_reference_t<In>>());
2393
2394
    template <typename>
2395
    static auto test(long) -> std::false_type;
2396
2397
    template <typename In>
2398
    static auto test(int)
2399
        -> std::enable_if_t<detail::requires_<readable_concept, In>,
2400
#if 0
2401
            common_reference_with<iter_reference_t<In>&&, iter_value_t<In>&> &&
2402
            common_reference_with<iter_reference_t<In>&&,
2403
                                  iter_rvalue_reference_t<In>&&> &&
2404
            common_reference_with<iter_rvalue_reference_t<In>&&,
2405
                                  const iter_value_t<In>&>,
2406
#endif
2407
                            std::true_type>;
2408
};
2409
2410
}  // namespace detail
2411
2412
template <typename In>
2413
inline constexpr bool readable =
2414
    decltype(detail::readable_concept::test<In>(0))::value;
2415
2416
namespace detail {
2417
2418
struct writable_concept {
2419
    template <typename Out, typename T>
2420
    auto requires_(Out&& o, T&& t)
2421
        -> decltype(*o = std::forward<T>(t),
2422
                    *std::forward<Out>(o) = std::forward<T>(t),
2423
                    const_cast<const iter_reference_t<Out>&&>(*o) =
2424
                        std::forward<T>(t),
2425
                    const_cast<const iter_reference_t<Out>&&>(
2426
                        *std::forward<Out>(o)) = std::forward<T>(t));
2427
};
2428
2429
}  // namespace detail
2430
2431
template <typename Out, typename T>
2432
inline constexpr bool writable =
2433
    detail::requires_<detail::writable_concept, Out, T>;
2434
2435
namespace detail {
2436
2437
template <typename T>
2438
inline constexpr bool is_integer_like = std::is_integral_v<T>;
2439
2440
template <typename T>
2441
inline constexpr bool is_signed_integer_like =
2442
    std::is_integral_v<T> && std::is_signed_v<T>;
2443
2444
struct weakly_incrementable_concept {
2445
    template <typename I>
2446
    auto requires_(I i)
2447
        -> decltype(std::declval<iter_difference_t<I>>(),
2448
                    requires_expr<
2449
                        is_signed_integer_like<iter_difference_t<I>>>{},
2450
                    requires_expr<std::is_same_v<decltype(++i), I&>>{},
2451
                    i++);
2452
};
2453
2454
}  // namespace detail
2455
2456
template <typename I>
2457
inline constexpr bool weakly_incrementable =
2458
    std::is_default_constructible_v<I> && movable<I> &&
2459
    detail::requires_<detail::weakly_incrementable_concept, I>;
2460
2461
namespace detail {
2462
2463
struct incrementable_concept {
2464
    template <typename I>
2465
    auto requires_(I i)
2466
        -> decltype(requires_expr<std::is_same_v<decltype(i++), I>>{});
2467
};
2468
2469
}  // namespace detail
2470
2471
template <typename I>
2472
inline constexpr bool incrementable =
2473
    regular<I> && weakly_incrementable<I> &&
2474
    detail::requires_<detail::incrementable_concept, I>;
2475
2476
namespace detail {
2477
2478
struct input_or_output_iterator_concept {
2479
    template <typename I>
2480
    auto requires_(I i)
2481
        -> decltype(requires_expr<can_reference<decltype(*i)>>{});
2482
};
2483
2484
}  // namespace detail
2485
2486
template <typename I>
2487
inline constexpr bool input_or_output_iterator =
2488
    detail::requires_<detail::input_or_output_iterator_concept, I> &&
2489
    weakly_incrementable<I>;
2490
2491
template <typename S, typename I>
2492
inline constexpr bool sentinel_for =
2493
    semiregular<S> && input_or_output_iterator<I> &&
2494
    detail::weakly_equality_comparable_with<S, I>;
2495
2496
template <typename S, typename I>
2497
inline constexpr bool disable_sized_sentinel = false;
2498
2499
namespace detail {
2500
2501
struct sized_sentinel_for_concept {
2502
    template <typename S, typename I>
2503
    auto requires_(const S& s, const I& i)
2504
        -> decltype(requires_expr<std::is_same_v<decltype(s - i),
2505
                                                 iter_difference_t<I>>>{},
2506
                    requires_expr<std::is_same_v<decltype(i - s),
2507
                                                 iter_difference_t<I>>>{});
2508
};
2509
2510
}  // namespace detail
2511
2512
template <typename S, typename I>
2513
inline constexpr bool sized_sentinel_for =
2514
    sentinel_for<S, I> &&
2515
    !disable_sized_sentinel<std::remove_cv_t<S>, std::remove_cv_t<I>> &&
2516
    detail::requires_<detail::sized_sentinel_for_concept, S, I>;
2517
2518
// This is a hack, but I'm fed up with my tests breaking because GCC
2519
// has a silly extension
2520
template <typename S>
2521
inline constexpr bool sized_sentinel_for<S, void*> = false;
2522
2523
template <typename I>
2524
inline constexpr bool sized_sentinel_for<void*, I> = false;
2525
2526
template <>
2527
inline constexpr bool sized_sentinel_for<void*, void*> = false;
2528
2529
namespace detail {
2530
2531
// FIXME: Use ITER_CONCEPT, not iterator_category_t
2532
struct input_iterator_concept {
2533
    template <typename I>
2534
    auto requires_() -> iterator_category_t<I>;
2535
2536
    template <typename>
2537
    static auto test(long) -> std::false_type;
2538
2539
    template <typename I>
2540
    static auto test(int) -> std::enable_if_t<
2541
        input_or_output_iterator<I> && readable<I> &&
2542
            detail::requires_<input_iterator_concept, I> &&
2543
            std::is_base_of_v<input_iterator_tag, iterator_category_t<I>>,
2544
        std::true_type>;
2545
};
2546
2547
}  // namespace detail
2548
2549
template <typename I>
2550
inline constexpr bool input_iterator =
2551
    decltype(detail::input_iterator_concept::test<I>(0))::value;
2552
2553
namespace detail {
2554
2555
struct output_iterator_concept {
2556
    template <typename I, typename T>
2557
    auto requires_(I i, T&& t) -> decltype(*i++ = std::forward<T>(t));
2558
};
2559
2560
}  // namespace detail
2561
2562
template <typename I, typename T>
2563
inline constexpr bool output_iterator =
2564
    input_or_output_iterator<I> && writable<I, T> &&
2565
    detail::requires_<detail::output_iterator_concept, I, T>;
2566
2567
namespace detail {
2568
2569
struct forward_iterator_concept {
2570
    template <typename>
2571
    static auto test(long) -> std::false_type;
2572
2573
    template <typename I>
2574
    static auto test(int) -> std::enable_if_t<
2575
        input_iterator<I> &&
2576
            std::is_base_of_v<forward_iterator_tag, iterator_category_t<I>> &&
2577
            incrementable<I> && sentinel_for<I, I>,
2578
        std::true_type>;
2579
};
2580
2581
}  // namespace detail
2582
2583
template <typename I>
2584
inline constexpr bool forward_iterator =
2585
    decltype(detail::forward_iterator_concept::test<I>(0))::value;
2586
2587
namespace detail {
2588
2589
struct bidirectional_iterator_concept {
2590
    template <typename I>
2591
    auto requires_(I i)
2592
        -> decltype(requires_expr<std::is_same_v<decltype(--i), I&>>{},
2593
                    requires_expr<std::is_same_v<decltype(i--), I>>{});
2594
2595
    template <typename>
2596
    static auto test(long) -> std::false_type;
2597
2598
    template <typename I>
2599
    static auto test(int) -> std::enable_if_t<
2600
        forward_iterator<I> &&
2601
            std::is_base_of_v<bidirectional_iterator_tag,
2602
                              iterator_category_t<I>> &&
2603
            detail::requires_<bidirectional_iterator_concept, I>,
2604
        std::true_type>;
2605
};
2606
2607
}  // namespace detail
2608
2609
template <typename I>
2610
inline constexpr bool bidirectional_iterator =
2611
    decltype(detail::bidirectional_iterator_concept::test<I>(0))::value;
2612
2613
namespace detail {
2614
2615
struct random_access_iterator_concept {
2616
    template <typename>
2617
    static auto test(long) -> std::false_type;
2618
2619
    template <typename I>
2620
    static auto test(int) -> std::enable_if_t<
2621
        bidirectional_iterator<I> &&
2622
            std::is_base_of_v<random_access_iterator_tag,
2623
                              iterator_category_t<I>> &&
2624
            totally_ordered<I> && sized_sentinel_for<I, I> &&
2625
            detail::requires_<random_access_iterator_concept, I>,
2626
        std::true_type>;
2627
2628
    template <typename I>
2629
    auto requires_(I i, const I j, const iter_difference_t<I> n)
2630
        -> decltype(requires_expr<std::is_same_v<decltype(i += n), I&>>{},
2631
                    requires_expr<std::is_same_v<decltype(j + n), I>>{},
2632
#ifndef _MSC_VER
2633
                    requires_expr<std::is_same_v<decltype(n + j),
2634
                                                 I>>{},  // FIXME: MSVC doesn't
2635
                                                         // like this when I =
2636
                                                         // int*
2637
#endif
2638
                    requires_expr<std::is_same_v<decltype(i -= n), I&>>{},
2639
                    requires_expr<std::is_same_v<decltype(j - n), I>>{},
2640
                    requires_expr<
2641
                        std::is_same_v<decltype(j[n]), iter_reference_t<I>>>{});
2642
};
2643
2644
}  // namespace detail
2645
2646
template <typename I>
2647
inline constexpr bool random_access_iterator =
2648
    decltype(detail::random_access_iterator_concept::test<I>(0))::value;
2649
2650
namespace detail {
2651
2652
struct contiguous_iterator_concept {
2653
    template <typename>
2654
    static auto test(long) -> std::false_type;
2655
2656
    template <typename I>
2657
    static auto test(int) -> std::enable_if_t<
2658
        random_access_iterator<I> &&
2659
            /*std::is_base_of_v<contiguous_iterator_tag,
2660
                              iterator_category_t<I>> &&*/
2661
            detail::can_make_address_from_iterator<I> &&
2662
            std::is_lvalue_reference_v<iter_reference_t<I>> &&
2663
            std::is_same_v<iter_value_t<I>,
2664
                           remove_cvref_t<iter_reference_t<I>>>,
2665
        std::true_type>;
2666
};
2667
2668
}  // namespace detail
2669
2670
template <typename I>
2671
inline constexpr bool contiguous_iterator =
2672
    decltype(detail::contiguous_iterator_concept::test<I>(0))::value;
2673
2674
namespace detail::begin_ {
2675
2676
template <typename T>
2677
void begin(T&) = delete;
2678
template <typename T>
2679
void begin(const T&) = delete;
2680
2681
struct fn {
2682
private:
2683
    template <typename T,
2684
              std::enable_if_t<!std::is_lvalue_reference_v<T> &&
2685
                               !enable_borrowed_range<std::remove_cv_t<T>>>* =
2686
                  nullptr>
2687
    static constexpr void impl(T&&, priority_tag<3>) = delete;
2688
2689
    template <typename T,
2690
              std::enable_if_t<std::is_array_v<remove_cvref_t<T>>>* = nullptr>
2691
    static constexpr auto impl(T&& t, priority_tag<2>) noexcept
2692
        -> decltype(t + 0)
2693
    {
2694
        static_assert(ranges::input_or_output_iterator<decltype(t + 0)>);
2695
        return t + 0;
2696
    }
2697
2698
    template <typename T>
2699
    static constexpr auto impl(T&& t, priority_tag<1>) noexcept(
2700
        noexcept(decay_copy(SCN_FWD(t).begin())))
2701
        -> std::enable_if_t<
2702
            input_or_output_iterator<decltype(decay_copy(SCN_FWD(t).begin()))>,
2703
            decltype(decay_copy(SCN_FWD(t).begin()))>
2704
32.2M
    {
2705
32.2M
        return decay_copy(t.begin());
2706
32.2M
    }
std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v3::ranges::detail::begin_::fn::impl<std::__1::basic_string_view<char, std::__1::char_traits<char> >&>(std::__1::basic_string_view<char, std::__1::char_traits<char> >&, scn::v3::detail::priority_tag<1ul>)
Line
Count
Source
2704
209k
    {
2705
209k
        return decay_copy(t.begin());
2706
209k
    }
std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v3::ranges::detail::begin_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> const&>(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> const&, scn::v3::detail::priority_tag<1ul>)
Line
Count
Source
2704
3.29M
    {
2705
3.29M
        return decay_copy(t.begin());
2706
3.29M
    }
std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v3::ranges::detail::begin_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>&>(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>&, scn::v3::detail::priority_tag<1ul>)
Line
Count
Source
2704
8.29M
    {
2705
8.29M
        return decay_copy(t.begin());
2706
8.29M
    }
std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v3::ranges::detail::begin_::fn::impl<std::__1::deque<char, std::__1::allocator<char> > const&>(std::__1::deque<char, std::__1::allocator<char> > const&, scn::v3::detail::priority_tag<1ul>)
Line
Count
Source
2704
189k
    {
2705
189k
        return decay_copy(t.begin());
2706
189k
    }
std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v3::ranges::detail::begin_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > const&>(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > const&, scn::v3::detail::priority_tag<1ul>)
Line
Count
Source
2704
3.41M
    {
2705
3.41M
        return decay_copy(t.begin());
2706
3.41M
    }
std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v3::ranges::detail::begin_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >&>(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >&, scn::v3::detail::priority_tag<1ul>)
Line
Count
Source
2704
1.61M
    {
2705
1.61M
        return decay_copy(t.begin());
2706
1.61M
    }
std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v3::ranges::detail::begin_::fn::impl<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, scn::v3::detail::priority_tag<1ul>)
Line
Count
Source
2704
415k
    {
2705
415k
        return decay_copy(t.begin());
2706
415k
    }
std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v3::ranges::detail::begin_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> const&>(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> const&, scn::v3::detail::priority_tag<1ul>)
Line
Count
Source
2704
4.52M
    {
2705
4.52M
        return decay_copy(t.begin());
2706
4.52M
    }
std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v3::ranges::detail::begin_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&>(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&, scn::v3::detail::priority_tag<1ul>)
Line
Count
Source
2704
4.55M
    {
2705
4.55M
        return decay_copy(t.begin());
2706
4.55M
    }
std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v3::ranges::detail::begin_::fn::impl<std::__1::deque<wchar_t, std::__1::allocator<wchar_t> > const&>(std::__1::deque<wchar_t, std::__1::allocator<wchar_t> > const&, scn::v3::detail::priority_tag<1ul>)
Line
Count
Source
2704
378k
    {
2705
378k
        return decay_copy(t.begin());
2706
378k
    }
std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v3::ranges::detail::begin_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > const&>(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > const&, scn::v3::detail::priority_tag<1ul>)
Line
Count
Source
2704
2.82M
    {
2705
2.82M
        return decay_copy(t.begin());
2706
2.82M
    }
std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v3::ranges::detail::begin_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >&>(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >&, scn::v3::detail::priority_tag<1ul>)
Line
Count
Source
2704
1.22M
    {
2705
1.22M
        return decay_copy(t.begin());
2706
1.22M
    }
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v3::ranges::detail::begin_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >&>(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >&, scn::v3::detail::priority_tag<1ul>)
std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v3::ranges::detail::begin_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >&>(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >&, scn::v3::detail::priority_tag<1ul>)
Line
Count
Source
2704
1.67k
    {
2705
1.67k
        return decay_copy(t.begin());
2706
1.67k
    }
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v3::ranges::detail::begin_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >&>(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >&, scn::v3::detail::priority_tag<1ul>)
std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v3::ranges::detail::begin_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>&>(scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>&, scn::v3::detail::priority_tag<1ul>)
Line
Count
Source
2704
829k
    {
2705
829k
        return decay_copy(t.begin());
2706
829k
    }
std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v3::ranges::detail::begin_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >&>(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >&, scn::v3::detail::priority_tag<1ul>)
Line
Count
Source
2704
270
    {
2705
270
        return decay_copy(t.begin());
2706
270
    }
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v3::ranges::detail::begin_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >&>(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >&, scn::v3::detail::priority_tag<1ul>)
std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v3::ranges::detail::begin_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >&>(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >&, scn::v3::detail::priority_tag<1ul>)
Line
Count
Source
2704
490
    {
2705
490
        return decay_copy(t.begin());
2706
490
    }
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v3::ranges::detail::begin_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >&>(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >&, scn::v3::detail::priority_tag<1ul>)
std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v3::ranges::detail::begin_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>&>(scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>&, scn::v3::detail::priority_tag<1ul>)
Line
Count
Source
2704
449k
    {
2705
449k
        return decay_copy(t.begin());
2706
449k
    }
std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v3::ranges::detail::begin_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >&>(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >&, scn::v3::detail::priority_tag<1ul>)
Line
Count
Source
2704
110
    {
2705
110
        return decay_copy(t.begin());
2706
110
    }
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v3::ranges::detail::begin_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>&&, scn::v3::detail::priority_tag<1ul>)
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v3::ranges::detail::begin_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&&, scn::v3::detail::priority_tag<1ul>)
2707
2708
    template <typename T>
2709
    static constexpr auto impl(T&& t, priority_tag<0>) noexcept(
2710
        noexcept(decay_copy(begin(SCN_FWD(t)))))
2711
        -> std::enable_if_t<
2712
            input_or_output_iterator<decltype(decay_copy(begin(SCN_FWD(t))))>,
2713
            decltype(decay_copy(begin(SCN_FWD(t))))>
2714
    {
2715
        return decay_copy(begin(SCN_FWD(t)));
2716
    }
2717
2718
public:
2719
    template <typename T>
2720
    constexpr auto operator()(T&& t) const
2721
        noexcept(noexcept(fn::impl(SCN_FWD(t), priority_tag<3>{})))
2722
            -> decltype(fn::impl(SCN_FWD(t), priority_tag<3>{}))
2723
32.2M
    {
2724
32.2M
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2725
32.2M
    }
_ZNK3scn2v36ranges6detail6begin_2fnclIRNSt3__117basic_string_viewIcNS6_11char_traitsIcEEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2723
209k
    {
2724
209k
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2725
209k
    }
_ZNK3scn2v36ranges6detail6begin_2fnclIRKNS2_9subrange_8subrangeIPKcS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2723
3.29M
    {
2724
3.29M
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2725
3.29M
    }
_ZNK3scn2v36ranges6detail6begin_2fnclIRNS2_9subrange_8subrangeIPKcS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2723
8.29M
    {
2724
8.29M
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2725
8.29M
    }
_ZNK3scn2v36ranges6detail6begin_2fnclIRKNSt3__15dequeIcNS6_9allocatorIcEEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2723
189k
    {
2724
189k
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2725
189k
    }
_ZNK3scn2v36ranges6detail6begin_2fnclIRKNS2_9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRSA_PKSB_lLl4096EEESF_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2723
3.41M
    {
2724
3.41M
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2725
3.41M
    }
_ZNK3scn2v36ranges6detail6begin_2fnclIRNS2_9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRSA_PKSB_lLl4096EEESF_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2723
1.61M
    {
2724
1.61M
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2725
1.61M
    }
_ZNK3scn2v36ranges6detail6begin_2fnclIRNSt3__117basic_string_viewIwNS6_11char_traitsIwEEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2723
415k
    {
2724
415k
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2725
415k
    }
_ZNK3scn2v36ranges6detail6begin_2fnclIRKNS2_9subrange_8subrangeIPKwS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2723
4.52M
    {
2724
4.52M
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2725
4.52M
    }
_ZNK3scn2v36ranges6detail6begin_2fnclIRNS2_9subrange_8subrangeIPKwS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2723
4.55M
    {
2724
4.55M
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2725
4.55M
    }
_ZNK3scn2v36ranges6detail6begin_2fnclIRKNSt3__15dequeIwNS6_9allocatorIwEEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2723
378k
    {
2724
378k
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2725
378k
    }
_ZNK3scn2v36ranges6detail6begin_2fnclIRKNS2_9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRSA_PKSB_lLl1024EEESF_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2723
2.82M
    {
2724
2.82M
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2725
2.82M
    }
_ZNK3scn2v36ranges6detail6begin_2fnclIRNS2_9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRSA_PKSB_lLl1024EEESF_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2723
1.22M
    {
2724
1.22M
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2725
1.22M
    }
Unexecuted instantiation: _ZNK3scn2v36ranges6detail6begin_2fnclIRNS2_9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS1_18default_sentinel_tEEESG_EEEEDTclsr2fnE4implscDtfp_Efp_tlNSB_12priority_tagILm3EEEEEEOT_
_ZNK3scn2v36ranges6detail6begin_2fnclIRNS2_9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EESD_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2723
1.67k
    {
2724
1.67k
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2725
1.67k
    }
Unexecuted instantiation: _ZNK3scn2v36ranges6detail6begin_2fnclIRNS2_9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS1_18default_sentinel_tEEENS8_15take_width_viewINS7_ISE_SF_EEE8sentinelILb1EEEEEEEDTclsr2fnE4implscDtfp_Efp_tlNSB_12priority_tagILm3EEEEEEOT_
_ZNK3scn2v36ranges6detail6begin_2fnclIRNS2_9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS1_18default_sentinel_tEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS8_12priority_tagILm3EEEEEEOT_
Line
Count
Source
2723
829k
    {
2724
829k
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2725
829k
    }
_ZNK3scn2v36ranges6detail6begin_2fnclIRNS2_9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EENS8_15take_width_viewINS7_ISC_SC_EEE8sentinelILb1EEEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2723
270
    {
2724
270
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2725
270
    }
Unexecuted instantiation: _ZNK3scn2v36ranges6detail6begin_2fnclIRNS2_9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS1_18default_sentinel_tEEESG_EEEEDTclsr2fnE4implscDtfp_Efp_tlNSB_12priority_tagILm3EEEEEEOT_
_ZNK3scn2v36ranges6detail6begin_2fnclIRNS2_9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EESD_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2723
490
    {
2724
490
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2725
490
    }
Unexecuted instantiation: _ZNK3scn2v36ranges6detail6begin_2fnclIRNS2_9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS1_18default_sentinel_tEEENS8_15take_width_viewINS7_ISE_SF_EEE8sentinelILb1EEEEEEEDTclsr2fnE4implscDtfp_Efp_tlNSB_12priority_tagILm3EEEEEEOT_
_ZNK3scn2v36ranges6detail6begin_2fnclIRNS2_9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS1_18default_sentinel_tEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS8_12priority_tagILm3EEEEEEOT_
Line
Count
Source
2723
449k
    {
2724
449k
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2725
449k
    }
_ZNK3scn2v36ranges6detail6begin_2fnclIRNS2_9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EENS8_15take_width_viewINS7_ISC_SC_EEE8sentinelILb1EEEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2723
110
    {
2724
110
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2725
110
    }
Unexecuted instantiation: _ZNK3scn2v36ranges6detail6begin_2fnclINS2_9subrange_8subrangeIPKcS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v36ranges6detail6begin_2fnclINS2_9subrange_8subrangeIPKwS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
2726
};
2727
2728
}  // namespace detail::begin_
2729
2730
inline constexpr auto begin = detail::begin_::fn{};
2731
2732
namespace detail::end_ {
2733
2734
template <typename T>
2735
void end(T&) = delete;
2736
template <typename T>
2737
void end(const T&) = delete;
2738
2739
struct fn {
2740
private:
2741
    template <typename T,
2742
              std::enable_if_t<!std::is_lvalue_reference_v<T> &&
2743
                               !enable_borrowed_range<std::remove_cv_t<T>>>* =
2744
                  nullptr>
2745
    static constexpr void impl(T&&, priority_tag<3>) = delete;
2746
2747
    template <typename T,
2748
              std::enable_if_t<std::is_array_v<remove_cvref_t<T>>>* = nullptr>
2749
    static constexpr auto impl(T&& t, priority_tag<2>) noexcept
2750
        -> decltype(t + std::extent_v<remove_cvref_t<T>>)
2751
    {
2752
        return t + std::extent_v<remove_cvref_t<T>>;
2753
    }
2754
2755
    template <typename T,
2756
              typename S = decltype(decay_copy(SCN_DECLVAL(T).end())),
2757
              typename I = decltype(::scn::ranges::begin(SCN_DECLVAL(T)))>
2758
    static constexpr auto impl(T&& t, priority_tag<1>) noexcept(
2759
        noexcept(decay_copy(SCN_FWD(t).end())))
2760
        -> std::enable_if_t<sentinel_for<S, I>,
2761
                            decltype(decay_copy(SCN_FWD(t).end()))>
2762
271M
    {
2763
271M
        return decay_copy(SCN_FWD(t).end());
2764
271M
    }
std::__1::enable_if<sentinel_for<char const*, char const*>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v3::ranges::detail::end_::fn::impl<std::__1::basic_string_view<char, std::__1::char_traits<char> >&, char const*, char const*>(std::__1::basic_string_view<char, std::__1::char_traits<char> >&, scn::v3::detail::priority_tag<1ul>)
Line
Count
Source
2762
3.50M
    {
2763
3.50M
        return decay_copy(SCN_FWD(t).end());
2764
3.50M
    }
std::__1::enable_if<sentinel_for<char const*, char const*>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v3::ranges::detail::end_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>&, char const*, char const*>(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>&, scn::v3::detail::priority_tag<1ul>)
Line
Count
Source
2762
1.54M
    {
2763
1.54M
        return decay_copy(SCN_FWD(t).end());
2764
1.54M
    }
std::__1::enable_if<sentinel_for<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v3::ranges::detail::end_::fn::impl<std::__1::deque<char, std::__1::allocator<char> > const&, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >(std::__1::deque<char, std::__1::allocator<char> > const&, scn::v3::detail::priority_tag<1ul>)
Line
Count
Source
2762
3.60M
    {
2763
3.60M
        return decay_copy(SCN_FWD(t).end());
2764
3.60M
    }
std::__1::enable_if<sentinel_for<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v3::ranges::detail::end_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > const&, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > const&, scn::v3::detail::priority_tag<1ul>)
Line
Count
Source
2762
55.8M
    {
2763
55.8M
        return decay_copy(SCN_FWD(t).end());
2764
55.8M
    }
std::__1::enable_if<sentinel_for<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v3::ranges::detail::end_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >&, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >&, scn::v3::detail::priority_tag<1ul>)
Line
Count
Source
2762
1.61M
    {
2763
1.61M
        return decay_copy(SCN_FWD(t).end());
2764
1.61M
    }
std::__1::enable_if<sentinel_for<wchar_t const*, wchar_t const*>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v3::ranges::detail::end_::fn::impl<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, wchar_t const*, wchar_t const*>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, scn::v3::detail::priority_tag<1ul>)
Line
Count
Source
2762
4.93M
    {
2763
4.93M
        return decay_copy(SCN_FWD(t).end());
2764
4.93M
    }
std::__1::enable_if<sentinel_for<wchar_t const*, wchar_t const*>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v3::ranges::detail::end_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&, wchar_t const*, wchar_t const*>(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&, scn::v3::detail::priority_tag<1ul>)
Line
Count
Source
2762
2.05M
    {
2763
2.05M
        return decay_copy(SCN_FWD(t).end());
2764
2.05M
    }
std::__1::enable_if<sentinel_for<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v3::ranges::detail::end_::fn::impl<std::__1::deque<wchar_t, std::__1::allocator<wchar_t> > const&, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >(std::__1::deque<wchar_t, std::__1::allocator<wchar_t> > const&, scn::v3::detail::priority_tag<1ul>)
Line
Count
Source
2762
3.20M
    {
2763
3.20M
        return decay_copy(SCN_FWD(t).end());
2764
3.20M
    }
std::__1::enable_if<sentinel_for<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v3::ranges::detail::end_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > const&, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > const&, scn::v3::detail::priority_tag<1ul>)
Line
Count
Source
2762
194M
    {
2763
194M
        return decay_copy(SCN_FWD(t).end());
2764
194M
    }
std::__1::enable_if<sentinel_for<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v3::ranges::detail::end_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >&, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >&, scn::v3::detail::priority_tag<1ul>)
Line
Count
Source
2762
1.22M
    {
2763
1.22M
        return decay_copy(SCN_FWD(t).end());
2764
1.22M
    }
Unexecuted instantiation: std::__1::enable_if<sentinel_for<char const*, char const*>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v3::ranges::detail::end_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> const&, char const*, char const*>(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> const&, scn::v3::detail::priority_tag<1ul>)
Unexecuted instantiation: std::__1::enable_if<sentinel_for<wchar_t const*, wchar_t const*>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v3::ranges::detail::end_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> const&, wchar_t const*, wchar_t const*>(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> const&, scn::v3::detail::priority_tag<1ul>)
Unexecuted instantiation: std::__1::enable_if<sentinel_for<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v3::ranges::detail::end_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >&, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >&, scn::v3::detail::priority_tag<1ul>)
std::__1::enable_if<sentinel_for<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v3::ranges::detail::end_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >&, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >&, scn::v3::detail::priority_tag<1ul>)
Line
Count
Source
2762
1.67k
    {
2763
1.67k
        return decay_copy(SCN_FWD(t).end());
2764
1.67k
    }
Unexecuted instantiation: std::__1::enable_if<sentinel_for<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v3::ranges::detail::end_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >&, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >&, scn::v3::detail::priority_tag<1ul>)
std::__1::enable_if<sentinel_for<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v3::ranges::detail::end_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >&, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >&, scn::v3::detail::priority_tag<1ul>)
Line
Count
Source
2762
490
    {
2763
490
        return decay_copy(SCN_FWD(t).end());
2764
490
    }
2765
2766
    template <typename T,
2767
              typename S = decltype(decay_copy(end(SCN_DECLVAL(T)))),
2768
              typename I = decltype(::scn::ranges::begin(SCN_DECLVAL(T)))>
2769
    static constexpr auto impl(T&& t, priority_tag<0>) noexcept(noexcept(
2770
        decay_copy(end(SCN_FWD(t))))) -> std::enable_if_t<sentinel_for<S, I>, S>
2771
    {
2772
        return decay_copy(end(SCN_FWD(t)));
2773
    }
2774
2775
public:
2776
    template <typename T>
2777
    constexpr auto operator()(T&& t) const
2778
        noexcept(noexcept(fn::impl(SCN_FWD(t), priority_tag<3>{})))
2779
            -> decltype(fn::impl(SCN_FWD(t), priority_tag<3>{}))
2780
271M
    {
2781
271M
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2782
271M
    }
_ZNK3scn2v36ranges6detail4end_2fnclIRNSt3__117basic_string_viewIcNS6_11char_traitsIcEEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2780
3.50M
    {
2781
3.50M
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2782
3.50M
    }
_ZNK3scn2v36ranges6detail4end_2fnclIRNS2_9subrange_8subrangeIPKcS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2780
1.54M
    {
2781
1.54M
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2782
1.54M
    }
_ZNK3scn2v36ranges6detail4end_2fnclIRKNSt3__15dequeIcNS6_9allocatorIcEEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2780
3.60M
    {
2781
3.60M
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2782
3.60M
    }
_ZNK3scn2v36ranges6detail4end_2fnclIRKNS2_9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRSA_PKSB_lLl4096EEESF_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2780
55.8M
    {
2781
55.8M
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2782
55.8M
    }
_ZNK3scn2v36ranges6detail4end_2fnclIRNS2_9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRSA_PKSB_lLl4096EEESF_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2780
1.61M
    {
2781
1.61M
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2782
1.61M
    }
_ZNK3scn2v36ranges6detail4end_2fnclIRNSt3__117basic_string_viewIwNS6_11char_traitsIwEEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2780
4.93M
    {
2781
4.93M
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2782
4.93M
    }
_ZNK3scn2v36ranges6detail4end_2fnclIRNS2_9subrange_8subrangeIPKwS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2780
2.05M
    {
2781
2.05M
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2782
2.05M
    }
_ZNK3scn2v36ranges6detail4end_2fnclIRKNSt3__15dequeIwNS6_9allocatorIwEEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2780
3.20M
    {
2781
3.20M
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2782
3.20M
    }
_ZNK3scn2v36ranges6detail4end_2fnclIRKNS2_9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRSA_PKSB_lLl1024EEESF_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2780
194M
    {
2781
194M
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2782
194M
    }
_ZNK3scn2v36ranges6detail4end_2fnclIRNS2_9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRSA_PKSB_lLl1024EEESF_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2780
1.22M
    {
2781
1.22M
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2782
1.22M
    }
Unexecuted instantiation: _ZNK3scn2v36ranges6detail4end_2fnclIRKNS2_9subrange_8subrangeIPKcS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v36ranges6detail4end_2fnclIRKNS2_9subrange_8subrangeIPKwS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v36ranges6detail4end_2fnclIRNS2_9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS1_18default_sentinel_tEEESG_EEEEDTclsr2fnE4implscDtfp_Efp_tlNSB_12priority_tagILm3EEEEEEOT_
_ZNK3scn2v36ranges6detail4end_2fnclIRNS2_9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EESD_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2780
1.67k
    {
2781
1.67k
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2782
1.67k
    }
Unexecuted instantiation: _ZNK3scn2v36ranges6detail4end_2fnclIRNS2_9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS1_18default_sentinel_tEEESG_EEEEDTclsr2fnE4implscDtfp_Efp_tlNSB_12priority_tagILm3EEEEEEOT_
_ZNK3scn2v36ranges6detail4end_2fnclIRNS2_9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EESD_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2780
490
    {
2781
490
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2782
490
    }
2783
};
2784
2785
}  // namespace detail::end_
2786
2787
inline constexpr auto end = detail::end_::fn{};
2788
2789
namespace detail {
2790
struct range_concept {
2791
    template <typename T>
2792
    auto requires_(T& t) -> decltype(ranges::begin(t), ranges::end(t));
2793
};
2794
}  // namespace detail
2795
2796
template <typename T>
2797
inline constexpr bool range = detail::requires_<detail::range_concept, T>;
2798
2799
template <typename T>
2800
using iterator_t = decltype(ranges::begin(std::declval<T&>()));
2801
2802
template <typename R>
2803
using sentinel_t =
2804
    std::enable_if_t<range<R>, decltype(ranges::end(std::declval<R&>()))>;
2805
2806
template <typename R>
2807
using range_difference_t =
2808
    std::enable_if_t<range<R>, iter_difference_t<iterator_t<R>>>;
2809
2810
template <typename R>
2811
using range_value_t = std::enable_if_t<range<R>, iter_value_t<iterator_t<R>>>;
2812
2813
template <typename R>
2814
using range_reference_t =
2815
    std::enable_if_t<range<R>, iter_reference_t<iterator_t<R>>>;
2816
2817
namespace detail {
2818
template <typename, typename = void>
2819
inline constexpr bool is_object_pointer_v = false;
2820
template <typename P>
2821
inline constexpr bool
2822
    is_object_pointer_v<P,
2823
                        std::enable_if_t<std::is_pointer_v<P> &&
2824
                                         std::is_object_v<iter_value_t<P>>>> =
2825
        true;
2826
2827
namespace data_ {
2828
2829
struct fn {
2830
private:
2831
    template <typename T,
2832
              typename D = decltype(decay_copy(SCN_DECLVAL(T&).data()))>
2833
    static constexpr auto impl(T& t, priority_tag<1>) noexcept(noexcept(
2834
        decay_copy(t.data()))) -> std::enable_if_t<is_object_pointer_v<D>, D>
2835
10.8M
    {
2836
10.8M
        return t.data();
2837
10.8M
    }
std::__1::enable_if<is_object_pointer_v<char const*>, char const*>::type scn::v3::ranges::detail::data_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> const, char const*>(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> const&, scn::v3::detail::priority_tag<1ul>)
Line
Count
Source
2835
1.74M
    {
2836
1.74M
        return t.data();
2837
1.74M
    }
std::__1::enable_if<is_object_pointer_v<wchar_t const*>, wchar_t const*>::type scn::v3::ranges::detail::data_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> const, wchar_t const*>(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> const&, scn::v3::detail::priority_tag<1ul>)
Line
Count
Source
2835
2.46M
    {
2836
2.46M
        return t.data();
2837
2.46M
    }
std::__1::enable_if<is_object_pointer_v<char const*>, char const*>::type scn::v3::ranges::detail::data_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, char const*>(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>&, scn::v3::detail::priority_tag<1ul>)
Line
Count
Source
2835
3.42M
    {
2836
3.42M
        return t.data();
2837
3.42M
    }
std::__1::enable_if<is_object_pointer_v<wchar_t const*>, wchar_t const*>::type scn::v3::ranges::detail::data_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t const*>(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&, scn::v3::detail::priority_tag<1ul>)
Line
Count
Source
2835
2.28M
    {
2836
2.28M
        return t.data();
2837
2.28M
    }
std::__1::enable_if<is_object_pointer_v<char const*>, char const*>::type scn::v3::ranges::detail::data_::fn::impl<std::__1::basic_string_view<char, std::__1::char_traits<char> >, char const*>(std::__1::basic_string_view<char, std::__1::char_traits<char> >&, scn::v3::detail::priority_tag<1ul>)
Line
Count
Source
2835
941k
    {
2836
941k
        return t.data();
2837
941k
    }
2838
2839
    template <typename T>
2840
    static constexpr auto impl(T&& t, priority_tag<0>) noexcept(
2841
        noexcept(scn::ranges::begin(SCN_FWD(t))))
2842
        -> std::enable_if_t<
2843
            is_object_pointer_v<decltype(scn::ranges::begin(SCN_FWD(t)))>,
2844
            decltype(scn::ranges::begin(SCN_FWD(t)))>
2845
0
    {
2846
0
        return scn::ranges::begin(SCN_FWD(t));
2847
0
    }
Unexecuted instantiation: std::__1::enable_if<is_object_pointer_v<decltype (scn::v3::ranges::begin(static_cast<decltype ({parm#1})>({parm#1})))>, decltype (scn::v3::ranges::begin(static_cast<decltype ({parm#1})>({parm#1})))>::type scn::v3::ranges::detail::data_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>&&, scn::v3::detail::priority_tag<0ul>)
Unexecuted instantiation: std::__1::enable_if<is_object_pointer_v<decltype (scn::v3::ranges::begin(static_cast<decltype ({parm#1})>({parm#1})))>, decltype (scn::v3::ranges::begin(static_cast<decltype ({parm#1})>({parm#1})))>::type scn::v3::ranges::detail::data_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&&, scn::v3::detail::priority_tag<0ul>)
2848
2849
public:
2850
    template <typename T>
2851
    constexpr auto operator()(T&& t) const
2852
        noexcept(noexcept(fn::impl(SCN_FWD(t), priority_tag<1>{})))
2853
            -> decltype(fn::impl(SCN_FWD(t), priority_tag<1>{}))
2854
10.8M
    {
2855
10.8M
        return fn::impl(SCN_FWD(t), priority_tag<1>{});
2856
10.8M
    }
_ZNK3scn2v36ranges6detail5data_2fnclIRKNS2_9subrange_8subrangeIPKcS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm1EEEEEEOT_
Line
Count
Source
2854
1.74M
    {
2855
1.74M
        return fn::impl(SCN_FWD(t), priority_tag<1>{});
2856
1.74M
    }
_ZNK3scn2v36ranges6detail5data_2fnclIRKNS2_9subrange_8subrangeIPKwS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm1EEEEEEOT_
Line
Count
Source
2854
2.46M
    {
2855
2.46M
        return fn::impl(SCN_FWD(t), priority_tag<1>{});
2856
2.46M
    }
_ZNK3scn2v36ranges6detail5data_2fnclIRNS2_9subrange_8subrangeIPKcS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm1EEEEEEOT_
Line
Count
Source
2854
3.42M
    {
2855
3.42M
        return fn::impl(SCN_FWD(t), priority_tag<1>{});
2856
3.42M
    }
_ZNK3scn2v36ranges6detail5data_2fnclIRNS2_9subrange_8subrangeIPKwS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm1EEEEEEOT_
Line
Count
Source
2854
2.28M
    {
2855
2.28M
        return fn::impl(SCN_FWD(t), priority_tag<1>{});
2856
2.28M
    }
_ZNK3scn2v36ranges6detail5data_2fnclIRNSt3__117basic_string_viewIcNS6_11char_traitsIcEEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm1EEEEEEOT_
Line
Count
Source
2854
941k
    {
2855
941k
        return fn::impl(SCN_FWD(t), priority_tag<1>{});
2856
941k
    }
Unexecuted instantiation: _ZNK3scn2v36ranges6detail5data_2fnclINS2_9subrange_8subrangeIPKcS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm1EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v36ranges6detail5data_2fnclINS2_9subrange_8subrangeIPKwS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm1EEEEEEOT_
2857
};
2858
2859
}  // namespace data_
2860
}  // namespace detail
2861
2862
inline constexpr auto data = detail::data_::fn{};
2863
2864
template <typename T>
2865
inline constexpr bool disable_sized_range = false;
2866
2867
namespace detail::size_ {
2868
2869
template <typename T>
2870
void size(T&&) = delete;
2871
template <typename T>
2872
void size(T&) = delete;
2873
2874
struct fn {
2875
private:
2876
    template <typename T, std::size_t N>
2877
    static constexpr std::size_t impl(const T (&&)[N], priority_tag<3>) noexcept
2878
    {
2879
        return N;
2880
    }
2881
2882
    template <typename T, std::size_t N>
2883
    static constexpr std::size_t impl(const T (&)[N], priority_tag<3>) noexcept
2884
    {
2885
        return N;
2886
    }
2887
2888
    template <typename T,
2889
              typename I = decltype(decay_copy(std::declval<T>().size()))>
2890
    static constexpr auto impl(T&& t, priority_tag<2>) noexcept(
2891
        noexcept(decay_copy(SCN_FWD(t).size())))
2892
        -> std::enable_if_t<std::is_integral_v<I> &&
2893
                                !disable_sized_range<remove_cvref_t<T>>,
2894
                            I>
2895
7.16M
    {
2896
7.16M
        return decay_copy(SCN_FWD(t).size());
2897
7.16M
    }
_ZN3scn2v36ranges6detail5size_2fn4implIRKNS2_9subrange_8subrangeIPKcS9_EEmEENSt3__19enable_ifIXaasr3stdE13is_integral_vIT0_Ent19disable_sized_rangeIu11__remove_cvIu20__remove_reference_tIT_EEEESF_E4typeEOSG_NS0_6detail12priority_tagILm2EEE
Line
Count
Source
2895
1.74M
    {
2896
1.74M
        return decay_copy(SCN_FWD(t).size());
2897
1.74M
    }
_ZN3scn2v36ranges6detail5size_2fn4implIRKNS2_9subrange_8subrangeIPKwS9_EEmEENSt3__19enable_ifIXaasr3stdE13is_integral_vIT0_Ent19disable_sized_rangeIu11__remove_cvIu20__remove_reference_tIT_EEEESF_E4typeEOSG_NS0_6detail12priority_tagILm2EEE
Line
Count
Source
2895
2.46M
    {
2896
2.46M
        return decay_copy(SCN_FWD(t).size());
2897
2.46M
    }
_ZN3scn2v36ranges6detail5size_2fn4implIRNSt3__112basic_stringIcNS6_11char_traitsIcEENS6_9allocatorIcEEEEmEENS6_9enable_ifIXaasr3stdE13is_integral_vIT0_Ent19disable_sized_rangeIu11__remove_cvIu20__remove_reference_tIT_EEEESF_E4typeEOSG_NS0_6detail12priority_tagILm2EEE
Line
Count
Source
2895
2.83M
    {
2896
2.83M
        return decay_copy(SCN_FWD(t).size());
2897
2.83M
    }
_ZN3scn2v36ranges6detail5size_2fn4implIRKNSt3__117basic_string_viewIcNS6_11char_traitsIcEEEEmEENS6_9enable_ifIXaasr3stdE13is_integral_vIT0_Ent19disable_sized_rangeIu11__remove_cvIu20__remove_reference_tIT_EEEESE_E4typeEOSF_NS0_6detail12priority_tagILm2EEE
Line
Count
Source
2895
52
    {
2896
52
        return decay_copy(SCN_FWD(t).size());
2897
52
    }
_ZN3scn2v36ranges6detail5size_2fn4implIRKNSt3__112basic_stringIcNS6_11char_traitsIcEENS6_9allocatorIcEEEEmEENS6_9enable_ifIXaasr3stdE13is_integral_vIT0_Ent19disable_sized_rangeIu11__remove_cvIu20__remove_reference_tIT_EEEESG_E4typeEOSH_NS0_6detail12priority_tagILm2EEE
Line
Count
Source
2895
113k
    {
2896
113k
        return decay_copy(SCN_FWD(t).size());
2897
113k
    }
Unexecuted instantiation: _ZN3scn2v36ranges6detail5size_2fn4implIRKNSt3__117basic_string_viewIwNS6_11char_traitsIwEEEEmEENS6_9enable_ifIXaasr3stdE13is_integral_vIT0_Ent19disable_sized_rangeIu11__remove_cvIu20__remove_reference_tIT_EEEESE_E4typeEOSF_NS0_6detail12priority_tagILm2EEE
Unexecuted instantiation: _ZN3scn2v36ranges6detail5size_2fn4implINS2_9subrange_8subrangeIPKcS9_EEmEENSt3__19enable_ifIXaasr3stdE13is_integral_vIT0_Ent19disable_sized_rangeIu11__remove_cvIu20__remove_reference_tIT_EEEESD_E4typeEOSE_NS0_6detail12priority_tagILm2EEE
Unexecuted instantiation: _ZN3scn2v36ranges6detail5size_2fn4implINS2_9subrange_8subrangeIPKwS9_EEmEENSt3__19enable_ifIXaasr3stdE13is_integral_vIT0_Ent19disable_sized_rangeIu11__remove_cvIu20__remove_reference_tIT_EEEESD_E4typeEOSE_NS0_6detail12priority_tagILm2EEE
2898
2899
    template <typename T,
2900
              typename I = decltype(decay_copy(size(std::declval<T>())))>
2901
    static constexpr auto impl(T&& t, priority_tag<1>) noexcept(
2902
        noexcept(decay_copy(size(SCN_FWD(t)))))
2903
        -> std::enable_if_t<std::is_integral_v<I> &&
2904
                                !disable_sized_range<remove_cvref_t<T>>,
2905
                            I>
2906
    {
2907
        return decay_copy(size(SCN_FWD(t)));
2908
    }
2909
2910
    template <typename T,
2911
              typename I = decltype(scn::ranges::begin(SCN_DECLVAL(T))),
2912
              typename S = decltype(scn::ranges::end(SCN_DECLVAL(T))),
2913
              typename D = decltype(static_cast<std::size_t>(SCN_DECLVAL(S) -
2914
                                                             SCN_DECLVAL(I)))>
2915
    static constexpr auto impl(T&& t, priority_tag<0>) noexcept(noexcept(
2916
        static_cast<size_t>(scn::ranges::end(t) - scn::ranges::begin(t))))
2917
        -> std::enable_if_t<!std::is_array_v<remove_cvref_t<T>> &&
2918
                                sized_sentinel_for<S, I> && forward_iterator<I>,
2919
                            D>
2920
    {
2921
        return static_cast<size_t>(scn::ranges::end(t) - scn::ranges::begin(t));
2922
    }
2923
2924
public:
2925
    template <typename T>
2926
    constexpr auto operator()(T&& t) const
2927
        noexcept(noexcept(fn::impl(std::forward<T>(t), priority_tag<3>{})))
2928
            -> decltype(fn::impl(std::forward<T>(t), priority_tag<3>{}))
2929
7.16M
    {
2930
7.16M
        return fn::impl(std::forward<T>(t), priority_tag<3>{});
2931
7.16M
    }
_ZNK3scn2v36ranges6detail5size_2fnclIRKNS2_9subrange_8subrangeIPKcS9_EEEEDTclsr2fnE4implclsr3stdE7forwardIT_Efp_EtlNS0_6detail12priority_tagILm3EEEEEEOSD_
Line
Count
Source
2929
1.74M
    {
2930
1.74M
        return fn::impl(std::forward<T>(t), priority_tag<3>{});
2931
1.74M
    }
_ZNK3scn2v36ranges6detail5size_2fnclIRKNS2_9subrange_8subrangeIPKwS9_EEEEDTclsr2fnE4implclsr3stdE7forwardIT_Efp_EtlNS0_6detail12priority_tagILm3EEEEEEOSD_
Line
Count
Source
2929
2.46M
    {
2930
2.46M
        return fn::impl(std::forward<T>(t), priority_tag<3>{});
2931
2.46M
    }
_ZNK3scn2v36ranges6detail5size_2fnclIRNSt3__112basic_stringIcNS6_11char_traitsIcEENS6_9allocatorIcEEEEEEDTclsr2fnE4implclsr3stdE7forwardIT_Efp_EtlNS0_6detail12priority_tagILm3EEEEEEOSE_
Line
Count
Source
2929
2.83M
    {
2930
2.83M
        return fn::impl(std::forward<T>(t), priority_tag<3>{});
2931
2.83M
    }
_ZNK3scn2v36ranges6detail5size_2fnclIRKNSt3__117basic_string_viewIcNS6_11char_traitsIcEEEEEEDTclsr2fnE4implclsr3stdE7forwardIT_Efp_EtlNS0_6detail12priority_tagILm3EEEEEEOSD_
Line
Count
Source
2929
52
    {
2930
52
        return fn::impl(std::forward<T>(t), priority_tag<3>{});
2931
52
    }
_ZNK3scn2v36ranges6detail5size_2fnclIRKNSt3__112basic_stringIcNS6_11char_traitsIcEENS6_9allocatorIcEEEEEEDTclsr2fnE4implclsr3stdE7forwardIT_Efp_EtlNS0_6detail12priority_tagILm3EEEEEEOSF_
Line
Count
Source
2929
113k
    {
2930
113k
        return fn::impl(std::forward<T>(t), priority_tag<3>{});
2931
113k
    }
Unexecuted instantiation: _ZNK3scn2v36ranges6detail5size_2fnclIRKNSt3__117basic_string_viewIwNS6_11char_traitsIwEEEEEEDTclsr2fnE4implclsr3stdE7forwardIT_Efp_EtlNS0_6detail12priority_tagILm3EEEEEEOSD_
Unexecuted instantiation: _ZNK3scn2v36ranges6detail5size_2fnclINS2_9subrange_8subrangeIPKcS9_EEEEDTclsr2fnE4implclsr3stdE7forwardIT_Efp_EtlNS0_6detail12priority_tagILm3EEEEEEOSB_
Unexecuted instantiation: _ZNK3scn2v36ranges6detail5size_2fnclINS2_9subrange_8subrangeIPKwS9_EEEEDTclsr2fnE4implclsr3stdE7forwardIT_Efp_EtlNS0_6detail12priority_tagILm3EEEEEEOSB_
2932
};
2933
2934
}  // namespace detail::size_
2935
2936
inline constexpr auto size = detail::size_::fn{};
2937
2938
namespace detail {
2939
namespace ssize_ {
2940
struct fn {
2941
private:
2942
    template <typename T>
2943
    using ssize_return_t = std::conditional_t<sizeof(range_difference_t<T>) <
2944
                                                  sizeof(std::ptrdiff_t),
2945
                                              std::ptrdiff_t,
2946
                                              range_difference_t<T>>;
2947
2948
    template <typename T>
2949
    static constexpr auto impl(T&& t) noexcept(
2950
        noexcept(ranges::size(std::forward<T>(t))))
2951
        -> decltype(ranges::size(std::forward<T>(t)), ssize_return_t<T>())
2952
2.95M
    {
2953
2.95M
        return static_cast<ssize_return_t<T>>(ranges::size(std::forward<T>(t)));
2954
2.95M
    }
_ZN3scn2v36ranges6detail6ssize_2fn4implIRNSt3__112basic_stringIcNS6_11char_traitsIcEENS6_9allocatorIcEEEEEEDTcmclL_ZNS1_4sizeEEclsr3stdE7forwardIT_Efp_EEcvNS6_11conditionalIXltstNS6_9enable_ifIX5rangeISE_EENS1_20incrementable_traitsIDTclL_ZNS1_5beginEEclsr3stdE7declvalIRSE_EEEEE15difference_typeEE4typeELm8EElSN_E4typeE_EEOSE_
Line
Count
Source
2952
2.83M
    {
2953
2.83M
        return static_cast<ssize_return_t<T>>(ranges::size(std::forward<T>(t)));
2954
2.83M
    }
_ZN3scn2v36ranges6detail6ssize_2fn4implIRKNSt3__117basic_string_viewIcNS6_11char_traitsIcEEEEEEDTcmclL_ZNS1_4sizeEEclsr3stdE7forwardIT_Efp_EEcvNS6_11conditionalIXltstNS6_9enable_ifIX5rangeISD_EENS1_20incrementable_traitsIDTclL_ZNS1_5beginEEclsr3stdE7declvalIRSD_EEEEE15difference_typeEE4typeELm8EElSM_E4typeE_EEOSD_
Line
Count
Source
2952
52
    {
2953
52
        return static_cast<ssize_return_t<T>>(ranges::size(std::forward<T>(t)));
2954
52
    }
_ZN3scn2v36ranges6detail6ssize_2fn4implIRKNSt3__112basic_stringIcNS6_11char_traitsIcEENS6_9allocatorIcEEEEEEDTcmclL_ZNS1_4sizeEEclsr3stdE7forwardIT_Efp_EEcvNS6_11conditionalIXltstNS6_9enable_ifIX5rangeISF_EENS1_20incrementable_traitsIDTclL_ZNS1_5beginEEclsr3stdE7declvalIRSF_EEEEE15difference_typeEE4typeELm8EElSO_E4typeE_EEOSF_
Line
Count
Source
2952
113k
    {
2953
113k
        return static_cast<ssize_return_t<T>>(ranges::size(std::forward<T>(t)));
2954
113k
    }
Unexecuted instantiation: _ZN3scn2v36ranges6detail6ssize_2fn4implIRKNSt3__117basic_string_viewIwNS6_11char_traitsIwEEEEEEDTcmclL_ZNS1_4sizeEEclsr3stdE7forwardIT_Efp_EEcvNS6_11conditionalIXltstNS6_9enable_ifIX5rangeISD_EENS1_20incrementable_traitsIDTclL_ZNS1_5beginEEclsr3stdE7declvalIRSD_EEEEE15difference_typeEE4typeELm8EElSM_E4typeE_EEOSD_
2955
2956
public:
2957
    template <typename T>
2958
    constexpr auto operator()(T&& t) const
2959
        noexcept(noexcept(fn::impl(std::forward<T>(t))))
2960
            -> decltype(fn::impl(std::forward<T>(t)))
2961
2.95M
    {
2962
2.95M
        return fn::impl(std::forward<T>(t));
2963
2.95M
    }
_ZNK3scn2v36ranges6detail6ssize_2fnclIRNSt3__112basic_stringIcNS6_11char_traitsIcEENS6_9allocatorIcEEEEEEDTclsr2fnE4implclsr3stdE7forwardIT_Efp_EEEOSE_
Line
Count
Source
2961
2.83M
    {
2962
2.83M
        return fn::impl(std::forward<T>(t));
2963
2.83M
    }
_ZNK3scn2v36ranges6detail6ssize_2fnclIRKNSt3__117basic_string_viewIcNS6_11char_traitsIcEEEEEEDTclsr2fnE4implclsr3stdE7forwardIT_Efp_EEEOSD_
Line
Count
Source
2961
52
    {
2962
52
        return fn::impl(std::forward<T>(t));
2963
52
    }
_ZNK3scn2v36ranges6detail6ssize_2fnclIRKNSt3__112basic_stringIcNS6_11char_traitsIcEENS6_9allocatorIcEEEEEEDTclsr2fnE4implclsr3stdE7forwardIT_Efp_EEEOSF_
Line
Count
Source
2961
113k
    {
2962
113k
        return fn::impl(std::forward<T>(t));
2963
113k
    }
Unexecuted instantiation: _ZNK3scn2v36ranges6detail6ssize_2fnclIRKNSt3__117basic_string_viewIwNS6_11char_traitsIwEEEEEEDTclsr2fnE4implclsr3stdE7forwardIT_Efp_EEEOSD_
2964
};
2965
}  // namespace ssize_
2966
}  // namespace detail
2967
2968
inline constexpr auto ssize = detail::ssize_::fn{};
2969
2970
namespace detail::empty_ {
2971
struct fn {
2972
private:
2973
    template <typename T>
2974
    static constexpr auto impl(T&& t, priority_tag<2>) noexcept(
2975
        noexcept(static_cast<bool>(SCN_FWD(t).empty())))
2976
        -> decltype(static_cast<bool>(SCN_FWD(t).empty()))
2977
    {
2978
        return static_cast<bool>(SCN_FWD(t).empty());
2979
    }
2980
2981
    template <typename T>
2982
    static constexpr auto impl(T&& t, priority_tag<1>) noexcept(
2983
        noexcept(ranges::size(SCN_FWD(t)) == 0))
2984
        -> decltype(ranges::size(SCN_FWD(t)) == 0)
2985
    {
2986
        return ranges::size(SCN_FWD(t)) == 0;
2987
    }
2988
2989
    template <typename T,
2990
              typename I = decltype(ranges::begin(std::declval<T>()))>
2991
    static constexpr auto impl(T&& t, priority_tag<0>) noexcept(
2992
        noexcept(ranges::begin(t) == ranges::end(t)))
2993
        -> std::enable_if_t<forward_iterator<I>,
2994
                            decltype(ranges::begin(t) == ranges::end(t))>
2995
    {
2996
        return ranges::begin(t) == ranges::end(t);
2997
    }
2998
2999
public:
3000
    template <typename T>
3001
    constexpr auto operator()(T&& t) const
3002
        noexcept(noexcept(fn::impl(SCN_FWD(t), priority_tag<2>{})))
3003
            -> decltype(fn::impl(SCN_FWD(t), priority_tag<2>{}))
3004
    {
3005
        return fn::impl(SCN_FWD(t), priority_tag<2>{});
3006
    }
3007
};
3008
}  // namespace detail::empty_
3009
3010
inline constexpr auto empty = detail::empty_::fn{};
3011
3012
template <typename T>
3013
inline constexpr bool borrowed_range =
3014
    range<T> && (std::is_lvalue_reference_v<T> ||
3015
                 enable_borrowed_range<detail::remove_cvref_t<T>>);
3016
3017
namespace detail {
3018
struct sized_range_concept {
3019
    template <typename T>
3020
    auto requires_(T& t) -> decltype(ranges::size(t));
3021
};
3022
}  // namespace detail
3023
3024
template <typename T>
3025
inline constexpr bool sized_range =
3026
    range<T> && !disable_sized_range<detail::remove_cvref_t<T>> &&
3027
    detail::requires_<detail::sized_range_concept, T>;
3028
3029
namespace detail {
3030
struct output_range_concept {
3031
    template <typename, typename>
3032
    static auto test(long) -> std::false_type;
3033
3034
    template <typename R, typename T>
3035
    static auto test(int)
3036
        -> std::enable_if_t<range<R> && output_iterator<iterator_t<R>, T>,
3037
                            std::true_type>;
3038
};
3039
}  // namespace detail
3040
3041
template <typename R, typename T>
3042
inline constexpr bool output_range =
3043
    decltype(detail::output_range_concept::test<R, T>(0))::value;
3044
3045
namespace detail {
3046
struct input_range_concept {
3047
    template <typename>
3048
    static auto test(long) -> std::false_type;
3049
3050
    template <typename T>
3051
    static auto test(int)
3052
        -> std::enable_if_t<range<T> && input_iterator<iterator_t<T>>,
3053
                            std::true_type>;
3054
};
3055
}  // namespace detail
3056
3057
template <typename T>
3058
inline constexpr bool input_range =
3059
    decltype(detail::input_range_concept::test<T>(0))::value;
3060
3061
namespace detail {
3062
struct forward_range_concept {
3063
    template <typename>
3064
    static auto test(long) -> std::false_type;
3065
3066
    template <typename T>
3067
    static auto test(int)
3068
        -> std::enable_if_t<input_range<T> && forward_iterator<iterator_t<T>>,
3069
                            std::true_type>;
3070
};
3071
}  // namespace detail
3072
3073
template <typename T>
3074
inline constexpr bool forward_range =
3075
    decltype(detail::forward_range_concept::test<T>(0))::value;
3076
3077
namespace detail {
3078
struct bidirectional_range_concept {
3079
    template <typename>
3080
    static auto test(long) -> std::false_type;
3081
3082
    template <typename T>
3083
    static auto test(int)
3084
        -> std::enable_if_t<forward_range<T> &&
3085
                                bidirectional_iterator<iterator_t<T>>,
3086
                            std::true_type>;
3087
};
3088
}  // namespace detail
3089
3090
template <typename T>
3091
inline constexpr bool bidirectional_range =
3092
    decltype(detail::bidirectional_range_concept::test<T>(0))::value;
3093
3094
namespace detail {
3095
struct random_access_range_concept {
3096
    template <typename>
3097
    static auto test(long) -> std::false_type;
3098
3099
    template <typename T>
3100
    static auto test(int)
3101
        -> std::enable_if_t<bidirectional_range<T> &&
3102
                                random_access_iterator<iterator_t<T>>,
3103
                            std::true_type>;
3104
};
3105
}  // namespace detail
3106
3107
template <typename T>
3108
inline constexpr bool random_access_range =
3109
    decltype(detail::random_access_range_concept::test<T>(0))::value;
3110
3111
namespace detail {
3112
// FIXME: Not to spec
3113
// We only require random_access_iterator, not contiguous_iterator
3114
// This is so that vector::iterator, string::iterator etc can model
3115
// contiguous_range.
3116
// If we do range-v3-style deep integration with iterator_traits then
3117
// this could be fixed
3118
struct contiguous_range_concept {
3119
    template <typename>
3120
    static auto test(long) -> std::false_type;
3121
3122
    template <typename T>
3123
    static auto test(int) -> std::enable_if_t<
3124
        random_access_range<T> && /* contiguous_iterator<iterator_t<T>>
3125
                                   * &&
3126
                                   */
3127
            detail::requires_<contiguous_range_concept, T>,
3128
        std::true_type>;
3129
3130
    template <typename T>
3131
    auto requires_(T& t)
3132
        -> decltype(requires_expr<std::is_same_v<
3133
                        decltype(ranges::data(t)),
3134
                        std::add_pointer_t<range_reference_t<T>>>>{});
3135
};
3136
}  // namespace detail
3137
3138
template <typename R>
3139
inline constexpr bool contiguous_range =
3140
    decltype(detail::contiguous_range_concept::test<R>(0))::value;
3141
3142
namespace detail {
3143
struct common_range_concept {
3144
    template <typename>
3145
    static auto test(long) -> std::false_type;
3146
3147
    template <typename T>
3148
    static auto test(int)
3149
        -> std::enable_if_t<range<T> &&
3150
                                std::is_same_v<iterator_t<T>, sentinel_t<T>>,
3151
                            std::true_type>;
3152
};
3153
}  // namespace detail
3154
3155
template <typename T>
3156
inline constexpr bool common_range =
3157
    decltype(detail::common_range_concept::test<T>(0))::value;
3158
3159
struct dangling {
3160
    constexpr dangling() noexcept = default;
3161
3162
    template <typename... Args>
3163
    constexpr dangling(Args&&...) noexcept
3164
    {
3165
    }
3166
};
3167
3168
template <typename R>
3169
using borrowed_iterator_t =
3170
    std::conditional_t<borrowed_range<R>, iterator_t<R>, dangling>;
3171
3172
template <typename D>
3173
class view_interface {
3174
    static_assert(std::is_class<D>::value, "");
3175
    static_assert(std::is_same_v<D, std::remove_cv_t<D>>, "");
3176
3177
private:
3178
    constexpr D& derived() noexcept
3179
8.76M
    {
3180
8.76M
        return static_cast<D&>(*this);
3181
8.76M
    }
scn::v3::ranges::view_interface<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::derived()
Line
Count
Source
3179
6.46M
    {
3180
6.46M
        return static_cast<D&>(*this);
3181
6.46M
    }
scn::v3::ranges::view_interface<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::derived()
Line
Count
Source
3179
2.29M
    {
3180
2.29M
        return static_cast<D&>(*this);
3181
2.29M
    }
3182
3183
    constexpr const D& derived() const noexcept
3184
4.21M
    {
3185
4.21M
        return static_cast<const D&>(*this);
3186
4.21M
    }
scn::v3::ranges::view_interface<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::derived() const
Line
Count
Source
3184
1.74M
    {
3185
1.74M
        return static_cast<const D&>(*this);
3186
1.74M
    }
scn::v3::ranges::view_interface<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::derived() const
Line
Count
Source
3184
2.46M
    {
3185
2.46M
        return static_cast<const D&>(*this);
3186
2.46M
    }
3187
3188
public:
3189
    template <typename R = D>
3190
    [[nodiscard]] constexpr auto empty()
3191
        -> std::enable_if_t<forward_range<R>, bool>
3192
    {
3193
        return ranges::begin(derived()) == ranges::end(derived());
3194
    }
3195
3196
    template <typename R = D>
3197
    [[nodiscard]] constexpr auto empty() const
3198
        -> std::enable_if_t<forward_range<const R>, bool>
3199
    {
3200
        return ranges::begin(derived()) == ranges::end(derived());
3201
    }
3202
3203
    template <typename R = D,
3204
              typename = decltype(ranges::empty(std::declval<R&>()))>
3205
    constexpr explicit operator bool()
3206
    {
3207
        return !ranges::empty(derived());
3208
    }
3209
3210
    template <typename R = D,
3211
              typename = decltype(ranges::empty(std::declval<const R&>()))>
3212
    constexpr explicit operator bool() const
3213
    {
3214
        return !ranges::empty(derived());
3215
    }
3216
3217
    template <typename R = D,
3218
              typename = std::enable_if_t<contiguous_iterator<iterator_t<R>>>>
3219
    constexpr auto data()
3220
8.76M
    {
3221
8.76M
        return detail::to_address(ranges::begin(derived()));
3222
8.76M
    }
auto scn::v3::ranges::view_interface<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::data<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, void>()
Line
Count
Source
3220
6.46M
    {
3221
6.46M
        return detail::to_address(ranges::begin(derived()));
3222
6.46M
    }
auto scn::v3::ranges::view_interface<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::data<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void>()
Line
Count
Source
3220
2.29M
    {
3221
2.29M
        return detail::to_address(ranges::begin(derived()));
3222
2.29M
    }
3223
3224
    template <typename R = D,
3225
              typename = std::enable_if_t<
3226
                  range<const R> && contiguous_iterator<iterator_t<const R>>>>
3227
    constexpr auto data() const
3228
4.21M
    {
3229
4.21M
        return detail::to_address(ranges::begin(derived()));
3230
4.21M
    }
auto scn::v3::ranges::view_interface<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::data<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, void>() const
Line
Count
Source
3228
1.74M
    {
3229
1.74M
        return detail::to_address(ranges::begin(derived()));
3230
1.74M
    }
auto scn::v3::ranges::view_interface<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::data<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void>() const
Line
Count
Source
3228
2.46M
    {
3229
2.46M
        return detail::to_address(ranges::begin(derived()));
3230
2.46M
    }
3231
3232
    template <typename R = D,
3233
              typename = std::enable_if_t<
3234
                  forward_range<R> &&
3235
                  sized_sentinel_for<sentinel_t<R>, iterator_t<R>>>>
3236
    constexpr auto size()
3237
    {
3238
        return ranges::end(derived()) - ranges::begin(derived());
3239
    }
3240
3241
    template <typename R = D,
3242
              typename = std::enable_if_t<
3243
                  forward_range<const R> &&
3244
                  sized_sentinel_for<sentinel_t<const R>, iterator_t<const R>>>>
3245
    constexpr auto size() const
3246
    {
3247
        return ranges::end(derived()) - ranges::begin(derived());
3248
    }
3249
3250
#if 0
3251
    template <typename R = D, typename = std::enable_if_t<forward_range<R>>>
3252
    constexpr decltype(auto) front()
3253
    {
3254
        return *ranges::begin(derived());
3255
    }
3256
3257
    template <typename R = D,
3258
              typename = std::enable_if_t<forward_range<const R>>>
3259
    constexpr decltype(auto) front() const
3260
    {
3261
        return *ranges::begin(derived());
3262
    }
3263
3264
    template <
3265
        typename R = D,
3266
        typename = std::enable_if_t<bidirectional_range<R> && common_range<R>>>
3267
    constexpr decltype(auto) back()
3268
    {
3269
        return *ranges::prev(ranges::end(derived()));
3270
    }
3271
3272
    template <typename R = D,
3273
              typename = std::enable_if_t<bidirectional_range<const R> &&
3274
                                          common_range<const R>>>
3275
    constexpr decltype(auto) back() const
3276
    {
3277
        return *ranges::prev(ranges::end(derived()));
3278
    }
3279
3280
    template <typename R = D,
3281
              typename = std::enable_if_t<random_access_range<R>>>
3282
    constexpr decltype(auto) operator[](iter_difference_t<iterator_t<R>> n)
3283
    {
3284
        return ranges::begin(derived())[n];
3285
    }
3286
#endif
3287
3288
    template <typename R = D,
3289
              typename = std::enable_if_t<random_access_range<const R>>>
3290
    constexpr decltype(auto) operator[](
3291
        iter_difference_t<iterator_t<const R>> n) const
3292
    {
3293
        return ranges::begin(derived())[n];
3294
    }
3295
};
3296
3297
namespace detail::subrange_ {
3298
3299
template <typename I, typename S = I>
3300
class subrange : public view_interface<subrange<I, S>> {
3301
    static_assert(input_or_output_iterator<I>);
3302
    static_assert(sentinel_for<S, I>);
3303
3304
public:
3305
    subrange() = default;
3306
3307
    template <typename I_,
3308
              std::enable_if_t<std::is_convertible_v<I_, I>>* = nullptr>
3309
    constexpr subrange(I_ i, S s)
3310
157M
        : m_iterator(SCN_MOVE(i)), m_sentinel(SCN_MOVE(s))
3311
157M
    {
3312
157M
    }
_ZN3scn2v36ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS7_PKS8_lLl4096EEESC_EC2ISC_TnPNS5_9enable_ifIXsr3stdE16is_convertible_vIT_SC_EEvE4typeELPv0EEESG_SC_
Line
Count
Source
3310
3.41M
        : m_iterator(SCN_MOVE(i)), m_sentinel(SCN_MOVE(s))
3311
3.41M
    {
3312
3.41M
    }
_ZN3scn2v36ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRS7_PKS8_lLl1024EEESC_EC2ISC_TnPNS5_9enable_ifIXsr3stdE16is_convertible_vIT_SC_EEvE4typeELPv0EEESG_SC_
Line
Count
Source
3310
2.82M
        : m_iterator(SCN_MOVE(i)), m_sentinel(SCN_MOVE(s))
3311
2.82M
    {
3312
2.82M
    }
_ZN3scn2v36ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS1_18default_sentinel_tEEC2IS8_TnPNSt3__19enable_ifIXsr3stdE16is_convertible_vIT_S8_EEvE4typeELPv0EEESE_S9_
Line
Count
Source
3310
18.8M
        : m_iterator(SCN_MOVE(i)), m_sentinel(SCN_MOVE(s))
3311
18.8M
    {
3312
18.8M
    }
_ZN3scn2v36ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS1_18default_sentinel_tEEC2IS8_TnPNSt3__19enable_ifIXsr3stdE16is_convertible_vIT_S8_EEvE4typeELPv0EEESE_S9_
Line
Count
Source
3310
37.7M
        : m_iterator(SCN_MOVE(i)), m_sentinel(SCN_MOVE(s))
3311
37.7M
    {
3312
37.7M
    }
Unexecuted instantiation: _ZN3scn2v36ranges6detail9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS1_18default_sentinel_tEEENS5_15take_width_viewINS4_ISB_SC_EEE8sentinelILb1EEEEC2ISD_TnPNSt3__19enable_ifIXsr3stdE16is_convertible_vIT_SD_EEvE4typeELPv0EEESN_SI_
Unexecuted instantiation: _ZN3scn2v36ranges6detail9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS7_INS0_6detail17basic_scan_bufferIcE16forward_iteratorENS1_18default_sentinel_tEEENS5_15take_width_viewINS4_ISB_SC_EEE8sentinelILb1EEEEENSE_ISG_E8sentinelILb1EEEEC2ISJ_TnPNSt3__19enable_ifIXsr3stdE16is_convertible_vIT_SJ_EEvE4typeELPv0EEESR_SM_
Unexecuted instantiation: _ZN3scn2v36ranges6detail9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS1_18default_sentinel_tEEESD_EC2ISD_TnPNSt3__19enable_ifIXsr3stdE16is_convertible_vIT_SD_EEvE4typeELPv0EEESI_SD_
_ZN3scn2v36ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorES8_EC2IS8_TnPNSt3__19enable_ifIXsr3stdE16is_convertible_vIT_S8_EEvE4typeELPv0EEESD_S8_
Line
Count
Source
3310
1.47M
        : m_iterator(SCN_MOVE(i)), m_sentinel(SCN_MOVE(s))
3311
1.47M
    {
3312
1.47M
    }
Unexecuted instantiation: _ZN3scn2v36ranges6detail9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS9_EENS5_15take_width_viewINSt3__117basic_string_viewIcNSC_11char_traitsIcEEEEE8sentinelILb1EEEEC2ISA_TnPNSC_9enable_ifIXsr3stdE16is_convertible_vIT_SA_EEvE4typeELPv0EEESN_SJ_
Unexecuted instantiation: _ZN3scn2v36ranges6detail9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS7_IPKcS9_EENS5_15take_width_viewINSt3__117basic_string_viewIcNSC_11char_traitsIcEEEEE8sentinelILb1EEEEENSB_ISH_E8sentinelILb1EEEEC2ISK_TnPNSC_9enable_ifIXsr3stdE16is_convertible_vIT_SK_EEvE4typeELPv0EEESR_SN_
_ZN3scn2v36ranges6detail9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS9_EESA_EC2ISA_TnPNSt3__19enable_ifIXsr3stdE16is_convertible_vIT_SA_EEvE4typeELPv0EEESF_SA_
Line
Count
Source
3310
1.67k
        : m_iterator(SCN_MOVE(i)), m_sentinel(SCN_MOVE(s))
3311
1.67k
    {
3312
1.67k
    }
_ZN3scn2v36ranges6detail9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS9_EENS5_15take_width_viewINS4_IS9_S9_EEE8sentinelILb1EEEEC2ISA_TnPNSt3__19enable_ifIXsr3stdE16is_convertible_vIT_SA_EEvE4typeELPv0EEESK_SF_
Line
Count
Source
3310
35.7k
        : m_iterator(SCN_MOVE(i)), m_sentinel(SCN_MOVE(s))
3311
35.7k
    {
3312
35.7k
    }
Unexecuted instantiation: _ZN3scn2v36ranges6detail9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS1_18default_sentinel_tEEENS5_15take_width_viewINS4_ISB_SC_EEE8sentinelILb1EEEEC2ISD_TnPNSt3__19enable_ifIXsr3stdE16is_convertible_vIT_SD_EEvE4typeELPv0EEESN_SI_
Unexecuted instantiation: _ZN3scn2v36ranges6detail9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS7_INS0_6detail17basic_scan_bufferIwE16forward_iteratorENS1_18default_sentinel_tEEENS5_15take_width_viewINS4_ISB_SC_EEE8sentinelILb1EEEEENSE_ISG_E8sentinelILb1EEEEC2ISJ_TnPNSt3__19enable_ifIXsr3stdE16is_convertible_vIT_SJ_EEvE4typeELPv0EEESR_SM_
Unexecuted instantiation: _ZN3scn2v36ranges6detail9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS1_18default_sentinel_tEEESD_EC2ISD_TnPNSt3__19enable_ifIXsr3stdE16is_convertible_vIT_SD_EEvE4typeELPv0EEESI_SD_
_ZN3scn2v36ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorES8_EC2IS8_TnPNSt3__19enable_ifIXsr3stdE16is_convertible_vIT_S8_EEvE4typeELPv0EEESD_S8_
Line
Count
Source
3310
1.23M
        : m_iterator(SCN_MOVE(i)), m_sentinel(SCN_MOVE(s))
3311
1.23M
    {
3312
1.23M
    }
Unexecuted instantiation: _ZN3scn2v36ranges6detail9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS9_EENS5_15take_width_viewINSt3__117basic_string_viewIwNSC_11char_traitsIwEEEEE8sentinelILb1EEEEC2ISA_TnPNSC_9enable_ifIXsr3stdE16is_convertible_vIT_SA_EEvE4typeELPv0EEESN_SJ_
Unexecuted instantiation: _ZN3scn2v36ranges6detail9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS7_IPKwS9_EENS5_15take_width_viewINSt3__117basic_string_viewIwNSC_11char_traitsIwEEEEE8sentinelILb1EEEEENSB_ISH_E8sentinelILb1EEEEC2ISK_TnPNSC_9enable_ifIXsr3stdE16is_convertible_vIT_SK_EEvE4typeELPv0EEESR_SN_
_ZN3scn2v36ranges6detail9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS9_EESA_EC2ISA_TnPNSt3__19enable_ifIXsr3stdE16is_convertible_vIT_SA_EEvE4typeELPv0EEESF_SA_
Line
Count
Source
3310
490
        : m_iterator(SCN_MOVE(i)), m_sentinel(SCN_MOVE(s))
3311
490
    {
3312
490
    }
_ZN3scn2v36ranges6detail9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS9_EENS5_15take_width_viewINS4_IS9_S9_EEE8sentinelILb1EEEEC2ISA_TnPNSt3__19enable_ifIXsr3stdE16is_convertible_vIT_SA_EEvE4typeELPv0EEESK_SF_
Line
Count
Source
3310
10.9k
        : m_iterator(SCN_MOVE(i)), m_sentinel(SCN_MOVE(s))
3311
10.9k
    {
3312
10.9k
    }
_ZN3scn2v36ranges6detail9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS7_IPKcS9_EENS5_15take_width_viewINS4_IS9_S9_EEE8sentinelILb1EEEEENSB_ISD_E8sentinelILb1EEEEC2ISG_TnPNSt3__19enable_ifIXsr3stdE16is_convertible_vIT_SG_EEvE4typeELPv0EEESO_SJ_
Line
Count
Source
3310
5.81k
        : m_iterator(SCN_MOVE(i)), m_sentinel(SCN_MOVE(s))
3311
5.81k
    {
3312
5.81k
    }
_ZN3scn2v36ranges6detail9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS7_IPKwS9_EENS5_15take_width_viewINS4_IS9_S9_EEE8sentinelILb1EEEEENSB_ISD_E8sentinelILb1EEEEC2ISG_TnPNSt3__19enable_ifIXsr3stdE16is_convertible_vIT_SG_EEvE4typeELPv0EEESO_SJ_
Line
Count
Source
3310
1.50k
        : m_iterator(SCN_MOVE(i)), m_sentinel(SCN_MOVE(s))
3311
1.50k
    {
3312
1.50k
    }
_ZN3scn2v36ranges6detail9subrange_8subrangeIPKcS6_EC2IS6_TnPNSt3__19enable_ifIXsr3stdE16is_convertible_vIT_S6_EEvE4typeELPv0EEESB_S6_
Line
Count
Source
3310
15.7M
        : m_iterator(SCN_MOVE(i)), m_sentinel(SCN_MOVE(s))
3311
15.7M
    {
3312
15.7M
    }
_ZN3scn2v36ranges6detail9subrange_8subrangeIPKwS6_EC2IS6_TnPNSt3__19enable_ifIXsr3stdE16is_convertible_vIT_S6_EEvE4typeELPv0EEESB_S6_
Line
Count
Source
3310
75.9M
        : m_iterator(SCN_MOVE(i)), m_sentinel(SCN_MOVE(s))
3311
75.9M
    {
3312
75.9M
    }
3313
3314
    template <
3315
        typename R,
3316
        std::enable_if_t<is_not_self<R, subrange> && borrowed_range<R> &&
3317
                         std::is_convertible_v<iterator_t<R>, I> &&
3318
                         std::is_convertible_v<sentinel_t<R>, S>>* = nullptr>
3319
    constexpr subrange(R&& r)
3320
        : m_iterator(scn::ranges::begin(r)), m_sentinel(scn::ranges::end(r))
3321
    {
3322
    }
3323
3324
    constexpr I begin() const
3325
509M
    {
3326
509M
        return m_iterator;
3327
509M
    }
scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>::begin() const
Line
Count
Source
3325
36.4M
    {
3326
36.4M
        return m_iterator;
3327
36.4M
    }
scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >::begin() const
Line
Count
Source
3325
5.02M
    {
3326
5.02M
        return m_iterator;
3327
5.02M
    }
scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>::begin() const
Line
Count
Source
3325
239M
    {
3326
239M
        return m_iterator;
3327
239M
    }
scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >::begin() const
Line
Count
Source
3325
4.05M
    {
3326
4.05M
        return m_iterator;
3327
4.05M
    }
scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>::begin() const
Line
Count
Source
3325
70.7M
    {
3326
70.7M
        return m_iterator;
3327
70.7M
    }
scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>::begin() const
Line
Count
Source
3325
149M
    {
3326
149M
        return m_iterator;
3327
149M
    }
Unexecuted instantiation: scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >::begin() const
Unexecuted instantiation: scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >::sentinel<true> >::begin() const
Unexecuted instantiation: scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::begin() const
scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::detail::basic_scan_buffer<char>::forward_iterator>::begin() const
Line
Count
Source
3325
2.15M
    {
3326
2.15M
        return m_iterator;
3327
2.15M
    }
Unexecuted instantiation: scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >::begin() const
Unexecuted instantiation: scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true> >::begin() const
scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::begin() const
Line
Count
Source
3325
1.67k
    {
3326
1.67k
        return m_iterator;
3327
1.67k
    }
scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >::begin() const
Line
Count
Source
3325
88.8k
    {
3326
88.8k
        return m_iterator;
3327
88.8k
    }
Unexecuted instantiation: scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >::begin() const
Unexecuted instantiation: scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >::sentinel<true> >::begin() const
Unexecuted instantiation: scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::begin() const
scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>::begin() const
Line
Count
Source
3325
1.27M
    {
3326
1.27M
        return m_iterator;
3327
1.27M
    }
Unexecuted instantiation: scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >::begin() const
Unexecuted instantiation: scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true> >::begin() const
scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::begin() const
Line
Count
Source
3325
490
    {
3326
490
        return m_iterator;
3327
490
    }
scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >::begin() const
Line
Count
Source
3325
31.9k
    {
3326
31.9k
        return m_iterator;
3327
31.9k
    }
scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true> >::begin() const
Line
Count
Source
3325
12.9k
    {
3326
12.9k
        return m_iterator;
3327
12.9k
    }
scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true> >::begin() const
Line
Count
Source
3325
3.01k
    {
3326
3.01k
        return m_iterator;
3327
3.01k
    }
3328
    constexpr S end() const
3329
684M
    {
3330
684M
        return m_sentinel;
3331
684M
    }
scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>::end() const
Line
Count
Source
3329
20.5M
    {
3330
20.5M
        return m_sentinel;
3331
20.5M
    }
scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >::end() const
Line
Count
Source
3329
57.4M
    {
3330
57.4M
        return m_sentinel;
3331
57.4M
    }
scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>::end() const
Line
Count
Source
3329
223M
    {
3330
223M
        return m_sentinel;
3331
223M
    }
scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >::end() const
Line
Count
Source
3329
195M
    {
3330
195M
        return m_sentinel;
3331
195M
    }
Unexecuted instantiation: scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >::end() const
Unexecuted instantiation: scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >::sentinel<true> >::end() const
Unexecuted instantiation: scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::end() const
scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>::end() const
Line
Count
Source
3329
49.5M
    {
3330
49.5M
        return m_sentinel;
3331
49.5M
    }
scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::detail::basic_scan_buffer<char>::forward_iterator>::end() const
Line
Count
Source
3329
2.15M
    {
3330
2.15M
        return m_sentinel;
3331
2.15M
    }
Unexecuted instantiation: scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >::end() const
Unexecuted instantiation: scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true> >::end() const
scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::end() const
Line
Count
Source
3329
1.67k
    {
3330
1.67k
        return m_sentinel;
3331
1.67k
    }
scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >::end() const
Line
Count
Source
3329
71.7k
    {
3330
71.7k
        return m_sentinel;
3331
71.7k
    }
Unexecuted instantiation: scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >::end() const
Unexecuted instantiation: scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >::sentinel<true> >::end() const
Unexecuted instantiation: scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::end() const
scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>::end() const
Line
Count
Source
3329
134M
    {
3330
134M
        return m_sentinel;
3331
134M
    }
scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>::end() const
Line
Count
Source
3329
1.27M
    {
3330
1.27M
        return m_sentinel;
3331
1.27M
    }
Unexecuted instantiation: scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >::end() const
Unexecuted instantiation: scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true> >::end() const
scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::end() const
Line
Count
Source
3329
490
    {
3330
490
        return m_sentinel;
3331
490
    }
scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >::end() const
Line
Count
Source
3329
25.5k
    {
3330
25.5k
        return m_sentinel;
3331
25.5k
    }
scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true> >::end() const
Line
Count
Source
3329
7.58k
    {
3330
7.58k
        return m_sentinel;
3331
7.58k
    }
scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true> >::end() const
Line
Count
Source
3329
1.50k
    {
3330
1.50k
        return m_sentinel;
3331
1.50k
    }
3332
3333
    SCN_NODISCARD constexpr bool empty() const
3334
    {
3335
        return m_iterator == m_sentinel;
3336
    }
3337
3338
    template <typename I_ = I,
3339
              std::enable_if_t<sized_sentinel_for<S, I_>>* = nullptr>
3340
    constexpr std::size_t size() const
3341
14.6M
    {
3342
14.6M
        return static_cast<size_t>(m_sentinel - m_iterator);
3343
14.6M
    }
_ZNK3scn2v36ranges6detail9subrange_8subrangeIPKcS6_E4sizeIS6_TnPNSt3__19enable_ifIX18sized_sentinel_forIS6_T_EEvE4typeELPv0EEEmv
Line
Count
Source
3341
8.28M
    {
3342
8.28M
        return static_cast<size_t>(m_sentinel - m_iterator);
3343
8.28M
    }
_ZNK3scn2v36ranges6detail9subrange_8subrangeIPKwS6_E4sizeIS6_TnPNSt3__19enable_ifIX18sized_sentinel_forIS6_T_EEvE4typeELPv0EEEmv
Line
Count
Source
3341
6.32M
    {
3342
6.32M
        return static_cast<size_t>(m_sentinel - m_iterator);
3343
6.32M
    }
3344
3345
private:
3346
    SCN_NO_UNIQUE_ADDRESS I m_iterator{};
3347
    SCN_NO_UNIQUE_ADDRESS S m_sentinel{};
3348
};
3349
3350
template <typename I,
3351
          typename S,
3352
          std::enable_if_t<input_or_output_iterator<I> && sentinel_for<S, I>>* =
3353
              nullptr>
3354
subrange(I, S) -> subrange<I, S>;
3355
3356
template <typename R, std::enable_if_t<borrowed_range<R>>* = nullptr>
3357
subrange(R&&) -> subrange<iterator_t<R>, sentinel_t<R>>;
3358
3359
}  // namespace detail::subrange_
3360
3361
using detail::subrange_::subrange;
3362
3363
template <typename I, typename S>
3364
inline constexpr bool enable_borrowed_range<subrange<I, S>> = true;
3365
3366
struct default_sentinel_t {};
3367
inline constexpr default_sentinel_t default_sentinel{};
3368
3369
}  // namespace ranges
3370
3371
namespace detail {
3372
3373
namespace char_t_fn {
3374
template <typename T, typename = typename T::value_type>
3375
constexpr auto impl_nonarray(priority_tag<2>)
3376
0
{
3377
0
    return tag_type<typename T::value_type>{};
3378
0
}
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl_nonarray<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, char>(scn::v3::detail::priority_tag<2ul>)
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl_nonarray<scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >, char>(scn::v3::detail::priority_tag<2ul>)
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl_nonarray<scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >, char>(scn::v3::detail::priority_tag<2ul>)
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl_nonarray<scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >, char>(scn::v3::detail::priority_tag<2ul>)
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl_nonarray<std::__1::basic_string_view<char, std::__1::char_traits<char> >, char>(scn::v3::detail::priority_tag<2ul>)
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl_nonarray<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >, char>(scn::v3::detail::priority_tag<2ul>)
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl_nonarray<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, wchar_t>(scn::v3::detail::priority_tag<2ul>)
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl_nonarray<scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >, wchar_t>(scn::v3::detail::priority_tag<2ul>)
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl_nonarray<scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, wchar_t>(scn::v3::detail::priority_tag<2ul>)
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl_nonarray<scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >, wchar_t>(scn::v3::detail::priority_tag<2ul>)
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl_nonarray<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, wchar_t>(scn::v3::detail::priority_tag<2ul>)
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl_nonarray<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >, wchar_t>(scn::v3::detail::priority_tag<2ul>)
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl_nonarray<scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> > >, char>(scn::v3::detail::priority_tag<2ul>)
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl_nonarray<scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >, wchar_t>(scn::v3::detail::priority_tag<2ul>)
3379
template <typename T, typename = decltype(SCN_DECLVAL(T&).begin())>
3380
constexpr auto impl_nonarray(priority_tag<1>)
3381
0
{
3382
0
    return tag_type<remove_cvref_t<decltype(*(SCN_DECLVAL(T&).begin()))>>{};
3383
0
}
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl_nonarray<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, char const*>(scn::v3::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl_nonarray<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >(scn::v3::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl_nonarray<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t const*>(scn::v3::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl_nonarray<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >(scn::v3::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl_nonarray<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::detail::basic_scan_buffer<char>::forward_iterator>(scn::v3::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl_nonarray<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, scn::v3::detail::basic_scan_buffer<char>::forward_iterator>(scn::v3::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl_nonarray<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >(scn::v3::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl_nonarray<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >(scn::v3::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl_nonarray<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >::sentinel<true> >, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > >(scn::v3::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl_nonarray<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >(scn::v3::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl_nonarray<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >(scn::v3::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl_nonarray<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true> >, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >(scn::v3::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl_nonarray<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >(scn::v3::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl_nonarray<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>(scn::v3::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl_nonarray<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>(scn::v3::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl_nonarray<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >(scn::v3::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl_nonarray<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >(scn::v3::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl_nonarray<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >::sentinel<true> >, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > >(scn::v3::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl_nonarray<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >(scn::v3::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl_nonarray<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >(scn::v3::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl_nonarray<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true> >, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >(scn::v3::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl_nonarray<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >(scn::v3::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl_nonarray<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true> >, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >(scn::v3::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl_nonarray<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true> >, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >(scn::v3::detail::priority_tag<1ul>)
3384
template <typename T>
3385
constexpr auto impl_nonarray(priority_tag<0>)
3386
{
3387
    return tag_type<remove_cvref_t<decltype(*begin(SCN_DECLVAL(T&)))>>{};
3388
}
3389
3390
template <typename T,
3391
          typename = std::enable_if_t<ranges::range<remove_cvref_t<T>>>>
3392
constexpr auto impl()
3393
0
{
3394
0
    using T_nocvref = remove_cvref_t<T>;
3395
0
    if constexpr (std::is_array_v<T_nocvref>) {
3396
0
        return tag_type<std::remove_all_extents_t<T_nocvref>>{};
3397
0
    }
3398
0
    else {
3399
0
        return impl_nonarray<T_nocvref>(priority_tag<2>{});
3400
0
    }
3401
0
}
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, void>()
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, void>()
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void>()
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, void>()
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, void>()
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, void>()
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, void>()
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, void>()
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl<scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >, void>()
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, void>()
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >::sentinel<true> >, void>()
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, void>()
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl<scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >, void>()
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl<scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >, void>()
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, void>()
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true> >, void>()
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl<std::__1::basic_string_view<char, std::__1::char_traits<char> >, void>()
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >, void>()
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, void>()
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, void>()
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, void>()
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, void>()
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, void>()
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl<scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >, void>()
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, void>()
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >::sentinel<true> >, void>()
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, void>()
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl<scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, void>()
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl<scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >, void>()
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, void>()
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true> >, void>()
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, void>()
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >, void>()
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, void>()
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl<scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> > >, void>()
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true> >, void>()
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl<scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >, void>()
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true> >, void>()
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl<std::__1::basic_string_view<char, std::__1::char_traits<char> >&, void>()
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, void>()
3402
3403
template <typename Range>
3404
using result = decltype(impl<Range>());
3405
}  // namespace char_t_fn
3406
3407
template <typename Range>
3408
using char_t = typename char_t_fn::result<Range>::type;
3409
3410
template <typename Range, typename = void>
3411
inline constexpr bool is_file_or_narrow_range_impl = false;
3412
template <>
3413
inline constexpr bool is_file_or_narrow_range_impl<std::FILE*, void> = true;
3414
template <typename Range>
3415
inline constexpr bool
3416
    is_file_or_narrow_range_impl<Range,
3417
                                 std::enable_if_t<ranges::range<Range>>> =
3418
        std::is_same_v<char_t<Range>, char>;
3419
3420
template <typename Range>
3421
inline constexpr bool is_file_or_narrow_range =
3422
    is_file_or_narrow_range_impl<remove_cvref_t<Range>>;
3423
3424
template <typename Range, typename = void>
3425
inline constexpr bool is_wide_range = false;
3426
template <typename Range>
3427
inline constexpr bool
3428
    is_wide_range<Range,
3429
                  std::enable_if_t<ranges::range<remove_cvref_t<Range>>>> =
3430
        std::is_same_v<char_t<Range>, wchar_t>;
3431
3432
template <typename R, bool Borrowed = ranges::borrowed_range<R>>
3433
struct borrowed_tail_subrange {
3434
    using type = ranges::subrange<ranges::iterator_t<R>, ranges::sentinel_t<R>>;
3435
};
3436
template <typename R>
3437
struct borrowed_tail_subrange<R, false> {
3438
    using type = ranges::dangling;
3439
};
3440
3441
/// Equivalent to
3442
/// `ranges::subrange<ranges::iterator_t<R>,
3443
/// ranges::sentinel_t<R>>` if `R` is a `borrowed_range`, and
3444
/// `ranges::dangling` otherwise.
3445
///
3446
/// Similar to `ranges::borrowed_subrange_t<R>`, expect this preserves
3447
/// the range sentinel.
3448
template <typename R>
3449
using borrowed_tail_subrange_t = typename borrowed_tail_subrange<R>::type;
3450
3451
}  // namespace detail
3452
3453
namespace ranges {
3454
template <typename CharT, typename Traits>
3455
inline constexpr bool
3456
    enable_borrowed_range<std::basic_string_view<CharT, Traits>> = true;
3457
}
3458
3459
/////////////////////////////////////////////////////////////////
3460
// Small generic algorithms
3461
/////////////////////////////////////////////////////////////////
3462
3463
namespace detail {
3464
3465
/**
3466
 * Implementation of `std::min_element` without including `<algorithm>`
3467
 */
3468
template <typename It>
3469
constexpr It min_element(It first, It last)
3470
{
3471
    if (first == last) {
3472
        return last;
3473
    }
3474
3475
    It smallest = first;
3476
    ++first;
3477
    for (; first != last; ++first) {
3478
        if (*first < *smallest) {
3479
            smallest = first;
3480
        }
3481
    }
3482
    return smallest;
3483
}
3484
3485
/**
3486
 * Implementation of `std::min` without including `<algorithm>`
3487
 */
3488
template <typename T>
3489
constexpr T min(T a, T b) noexcept
3490
{
3491
    return (b < a) ? b : a;
3492
}
3493
3494
template <bool IsConstexpr, typename T, typename Ptr = const T*>
3495
constexpr Ptr find(Ptr first, Ptr last, T value)
3496
{
3497
    for (; first != last; ++first) {
3498
        if (*first == value) {
3499
            return first;
3500
        }
3501
    }
3502
    return last;
3503
}
3504
3505
template <>
3506
inline const char* find<false, char>(const char* first,
3507
                                     const char* last,
3508
                                     char value)
3509
0
{
3510
0
    auto ptr = static_cast<const char*>(
3511
0
        std::memchr(first, value, static_cast<size_t>(last - first)));
3512
0
    return ptr != nullptr ? ptr : last;
3513
0
}
3514
3515
}  // namespace detail
3516
3517
/////////////////////////////////////////////////////////////////
3518
// Errors
3519
/////////////////////////////////////////////////////////////////
3520
3521
/**
3522
 * Error class.
3523
 * Used as a return value for functions without a success value.
3524
 *
3525
 * \ingroup result
3526
 */
3527
class SCN_TRIVIAL_ABI scan_error {
3528
public:
3529
    /// Error code
3530
    enum code {
3531
        /// No error
3532
        good = 0,
3533
        /// EOF
3534
        end_of_range,
3535
        /// Format string was invalid
3536
        invalid_format_string,
3537
        /// Scanned value was invalid for given type.
3538
        /// e.g. a period '.' when scanning for an int
3539
        invalid_scanned_value,
3540
        /// Scanned value was out of range for the desired type.
3541
        /// (e.g. `>2^32` for an `uint32_t`)
3542
        value_out_of_range,
3543
3544
        max_error
3545
    };
3546
3547
private:
3548
    using code_t = code;
3549
3550
public:
3551
    struct success_tag_t {};
3552
    static constexpr success_tag_t success_tag() noexcept
3553
0
    {
3554
0
        return {};
3555
0
    }
3556
3557
    /// Constructs an error with `code::good` and no message.
3558
21.3M
    constexpr scan_error() noexcept = default;
3559
0
    constexpr scan_error(success_tag_t) noexcept : scan_error() {}
3560
3561
    /// Constructs an error with `c` and `m`
3562
5.16M
    constexpr scan_error(code_t c, const char* m) noexcept : m_msg(m), m_code(c)
3563
5.16M
    {
3564
5.16M
        SCN_UNLIKELY_ATTR SCN_UNUSED(m_code);
3565
5.16M
    }
3566
3567
    /// Evaluated to true if there was no error
3568
    constexpr explicit operator bool() const noexcept
3569
32.4M
    {
3570
32.4M
        return m_code == good;
3571
32.4M
    }
3572
3573
    constexpr explicit operator code_t() const noexcept
3574
0
    {
3575
0
        return m_code;
3576
0
    }
3577
3578
    /// Get error code
3579
    SCN_NODISCARD constexpr code_t code() const noexcept
3580
844k
    {
3581
844k
        return m_code;
3582
844k
    }
3583
    /// Get error message
3584
    SCN_NODISCARD constexpr auto msg() const noexcept -> const char*
3585
0
    {
3586
0
        return m_msg;
3587
0
    }
3588
3589
private:
3590
    const char* m_msg{nullptr};
3591
    code_t m_code{good};
3592
};
3593
3594
constexpr inline bool operator==(scan_error a, scan_error b) noexcept
3595
0
{
3596
0
    return a.code() == b.code();
3597
0
}
3598
constexpr inline bool operator!=(scan_error a, scan_error b) noexcept
3599
0
{
3600
0
    return !(a == b);
3601
0
}
3602
3603
constexpr inline bool operator==(scan_error a, enum scan_error::code b) noexcept
3604
844k
{
3605
844k
    return a.code() == b;
3606
844k
}
3607
constexpr inline bool operator!=(scan_error a, enum scan_error::code b) noexcept
3608
844k
{
3609
844k
    return !(a == b);
3610
844k
}
3611
3612
constexpr inline bool operator==(enum scan_error::code a, scan_error b) noexcept
3613
0
{
3614
0
    return a == b.code();
3615
0
}
3616
constexpr inline bool operator!=(enum scan_error::code a, scan_error b) noexcept
3617
0
{
3618
0
    return !(a == b);
3619
0
}
3620
3621
namespace detail {
3622
// Intentionally not constexpr, to give out a compile-time error
3623
scan_error handle_error(scan_error e);
3624
}  // namespace detail
3625
3626
/**
3627
 * An `expected<T, scan_error>`.
3628
 *
3629
 * Not a type alias to shorten template names
3630
 *
3631
 * \ingroup result
3632
 */
3633
template <typename T>
3634
struct scan_expected : public expected<T, scan_error> {
3635
    using expected<T, scan_error>::expected;
3636
3637
    scan_expected(const expected<T, scan_error>& other)
3638
        : expected<T, scan_error>(other)
3639
    {
3640
    }
3641
    scan_expected(expected<T, scan_error>&& other)
3642
3.92M
        : expected<T, scan_error>(SCN_MOVE(other))
3643
3.92M
    {
3644
3.92M
    }
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::scan_expected(scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::scan_error>&&)
scn::v3::scan_expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::scan_expected(scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::scan_error>&&)
Line
Count
Source
3642
1.36k
        : expected<T, scan_error>(SCN_MOVE(other))
3643
1.36k
    {
3644
1.36k
    }
scn::v3::scan_expected<char const*>::scan_expected(scn::v3::expected<char const*, scn::v3::scan_error>&&)
Line
Count
Source
3642
982k
        : expected<T, scan_error>(SCN_MOVE(other))
3643
982k
    {
3644
982k
    }
scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>::scan_expected(scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::scan_error>&&)
Line
Count
Source
3642
1.47M
        : expected<T, scan_error>(SCN_MOVE(other))
3643
1.47M
    {
3644
1.47M
    }
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::scan_expected(scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::scan_error>&&)
scn::v3::scan_expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::scan_expected(scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::scan_error>&&)
Line
Count
Source
3642
570
        : expected<T, scan_error>(SCN_MOVE(other))
3643
570
    {
3644
570
    }
scn::v3::scan_expected<wchar_t const*>::scan_expected(scn::v3::expected<wchar_t const*, scn::v3::scan_error>&&)
Line
Count
Source
3642
633k
        : expected<T, scan_error>(SCN_MOVE(other))
3643
633k
    {
3644
633k
    }
scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>::scan_expected(scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::scan_error>&&)
Line
Count
Source
3642
832k
        : expected<T, scan_error>(SCN_MOVE(other))
3643
832k
    {
3644
832k
    }
3645
};
3646
3647
template <typename... Args>
3648
auto unexpected_scan_error(Args&&... args)
3649
451k
{
3650
451k
    return unexpected(scan_error{SCN_FWD(args)...});
3651
451k
}
Unexecuted instantiation: auto scn::v3::unexpected_scan_error<scn::v3::scan_error::code, char const (&) [74]>(scn::v3::scan_error::code&&, char const (&) [74])
auto scn::v3::unexpected_scan_error<scn::v3::scan_error::code, char const (&) [41]>(scn::v3::scan_error::code&&, char const (&) [41])
Line
Count
Source
3649
60.0k
{
3650
60.0k
    return unexpected(scan_error{SCN_FWD(args)...});
3651
60.0k
}
auto scn::v3::unexpected_scan_error<scn::v3::scan_error::code, char const (&) [51]>(scn::v3::scan_error::code&&, char const (&) [51])
Line
Count
Source
3649
24.8k
{
3650
24.8k
    return unexpected(scan_error{SCN_FWD(args)...});
3651
24.8k
}
Unexecuted instantiation: auto scn::v3::unexpected_scan_error<scn::v3::scan_error::code, char const (&) [37]>(scn::v3::scan_error::code&&, char const (&) [37])
auto scn::v3::unexpected_scan_error<scn::v3::scan_error::code, char const (&) [20]>(scn::v3::scan_error::code&&, char const (&) [20])
Line
Count
Source
3649
994
{
3650
994
    return unexpected(scan_error{SCN_FWD(args)...});
3651
994
}
auto scn::v3::unexpected_scan_error<scn::v3::scan_error::code, char const (&) [35]>(scn::v3::scan_error::code&&, char const (&) [35])
Line
Count
Source
3649
25.9k
{
3650
25.9k
    return unexpected(scan_error{SCN_FWD(args)...});
3651
25.9k
}
Unexecuted instantiation: auto scn::v3::unexpected_scan_error<scn::v3::scan_error::code, char const (&) [34]>(scn::v3::scan_error::code&&, char const (&) [34])
Unexecuted instantiation: auto scn::v3::unexpected_scan_error<scn::v3::scan_error::code, char const (&) [31]>(scn::v3::scan_error::code&&, char const (&) [31])
auto scn::v3::unexpected_scan_error<scn::v3::scan_error::code, char const (&) [38]>(scn::v3::scan_error::code&&, char const (&) [38])
Line
Count
Source
3649
28.8k
{
3650
28.8k
    return unexpected(scan_error{SCN_FWD(args)...});
3651
28.8k
}
auto scn::v3::unexpected_scan_error<scn::v3::scan_error::code, char const (&) [14]>(scn::v3::scan_error::code&&, char const (&) [14])
Line
Count
Source
3649
9.14k
{
3650
9.14k
    return unexpected(scan_error{SCN_FWD(args)...});
3651
9.14k
}
auto scn::v3::unexpected_scan_error<scn::v3::scan_error::code, char const (&) [32]>(scn::v3::scan_error::code&&, char const (&) [32])
Line
Count
Source
3649
6.14k
{
3650
6.14k
    return unexpected(scan_error{SCN_FWD(args)...});
3651
6.14k
}
auto scn::v3::unexpected_scan_error<scn::v3::scan_error::code, char const (&) [36]>(scn::v3::scan_error::code&&, char const (&) [36])
Line
Count
Source
3649
198
{
3650
198
    return unexpected(scan_error{SCN_FWD(args)...});
3651
198
}
Unexecuted instantiation: auto scn::v3::unexpected_scan_error<scn::v3::scan_error::code, char const (&) [59]>(scn::v3::scan_error::code&&, char const (&) [59])
auto scn::v3::unexpected_scan_error<scn::v3::scan_error::code, char const (&) [52]>(scn::v3::scan_error::code&&, char const (&) [52])
Line
Count
Source
3649
378
{
3650
378
    return unexpected(scan_error{SCN_FWD(args)...});
3651
378
}
Unexecuted instantiation: auto scn::v3::unexpected_scan_error<scn::v3::scan_error::code, char const (&) [66]>(scn::v3::scan_error::code&&, char const (&) [66])
Unexecuted instantiation: auto scn::v3::unexpected_scan_error<scn::v3::scan_error::code, char const (&) [77]>(scn::v3::scan_error::code&&, char const (&) [77])
auto scn::v3::unexpected_scan_error<scn::v3::scan_error::code, char const (&) [40]>(scn::v3::scan_error::code&&, char const (&) [40])
Line
Count
Source
3649
12.0k
{
3650
12.0k
    return unexpected(scan_error{SCN_FWD(args)...});
3651
12.0k
}
Unexecuted instantiation: auto scn::v3::unexpected_scan_error<scn::v3::scan_error::code, char const (&) [42]>(scn::v3::scan_error::code&&, char const (&) [42])
auto scn::v3::unexpected_scan_error<scn::v3::scan_error::code, char const (&) [47]>(scn::v3::scan_error::code&&, char const (&) [47])
Line
Count
Source
3649
4.40k
{
3650
4.40k
    return unexpected(scan_error{SCN_FWD(args)...});
3651
4.40k
}
auto scn::v3::unexpected_scan_error<scn::v3::scan_error::code, char const (&) [23]>(scn::v3::scan_error::code&&, char const (&) [23])
Line
Count
Source
3649
42
{
3650
42
    return unexpected(scan_error{SCN_FWD(args)...});
3651
42
}
Unexecuted instantiation: auto scn::v3::unexpected_scan_error<scn::v3::scan_error::code, char const (&) [19]>(scn::v3::scan_error::code&&, char const (&) [19])
auto scn::v3::unexpected_scan_error<scn::v3::scan_error::code, char const (&) [79]>(scn::v3::scan_error::code&&, char const (&) [79])
Line
Count
Source
3649
88
{
3650
88
    return unexpected(scan_error{SCN_FWD(args)...});
3651
88
}
auto scn::v3::unexpected_scan_error<scn::v3::scan_error::code, char const (&) [22]>(scn::v3::scan_error::code&&, char const (&) [22])
Line
Count
Source
3649
141k
{
3650
141k
    return unexpected(scan_error{SCN_FWD(args)...});
3651
141k
}
auto scn::v3::unexpected_scan_error<scn::v3::scan_error::code, char const (&) [29]>(scn::v3::scan_error::code&&, char const (&) [29])
Line
Count
Source
3649
122k
{
3650
122k
    return unexpected(scan_error{SCN_FWD(args)...});
3651
122k
}
auto scn::v3::unexpected_scan_error<scn::v3::scan_error::code, char const (&) [17]>(scn::v3::scan_error::code&&, char const (&) [17])
Line
Count
Source
3649
14.9k
{
3650
14.9k
    return unexpected(scan_error{SCN_FWD(args)...});
3651
14.9k
}
3652
3653
namespace detail {
3654
template <typename T>
3655
struct is_expected_impl<scan_expected<T>> : std::true_type {};
3656
}  // namespace detail
3657
3658
2.34M
#define SCN_TRY_IMPL_CONCAT(a, b)  a##b
3659
2.34M
#define SCN_TRY_IMPL_CONCAT2(a, b) SCN_TRY_IMPL_CONCAT(a, b)
3660
2.34M
#define SCN_TRY_TMP                SCN_TRY_IMPL_CONCAT2(_scn_try_tmp_, __LINE__)
3661
3662
#define SCN_TRY_ASSIGN(init, x)                        \
3663
48.2M
    auto&& SCN_TRY_TMP = (x);                          \
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_ENKUlRKSK_E0_clINS9_INS1_27counted_width_iterator_impl22counted_width_iteratorISD_SE_EENSG_8sentinelILb1EEEEEEEDaSR_
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_ENKUlRKSK_E_clINS9_INS1_27counted_width_iterator_impl22counted_width_iteratorISD_SE_EENSG_8sentinelILb1EEEEEEEDaSR_
_ZZN3scn2v34impl12float_readerIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_ENKUlRKSI_E0_clISE_EEDaSP_
Line
Count
Source
3663
277k
    auto&& SCN_TRY_TMP = (x);                          \
_ZZN3scn2v34impl12float_readerIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_ENKUlRKSI_E_clISE_EEDaSP_
Line
Count
Source
3663
511k
    auto&& SCN_TRY_TMP = (x);                          \
_ZZN3scn2v34impl12float_readerIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_ENKUlRKSH_E0_clINS9_INS1_27counted_width_iterator_impl22counted_width_iteratorISB_SB_EENSD_8sentinelILb1EEEEEEEDaSO_
Line
Count
Source
3663
4
    auto&& SCN_TRY_TMP = (x);                          \
_ZZN3scn2v34impl12float_readerIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_ENKUlRKSH_E_clINS9_INS1_27counted_width_iterator_impl22counted_width_iteratorISB_SB_EENSD_8sentinelILb1EEEEEEEDaSO_
Line
Count
Source
3663
252
    auto&& SCN_TRY_TMP = (x);                          \
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_ENKUlRKSF_E0_clISB_EEDaSM_
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_ENKUlRKSF_E_clISB_EEDaSM_
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_ENKUlRKSK_E0_clINS9_INS1_27counted_width_iterator_impl22counted_width_iteratorISD_SE_EENSG_8sentinelILb1EEEEEEEDaSR_
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_ENKUlRKSK_E_clINS9_INS1_27counted_width_iterator_impl22counted_width_iteratorISD_SE_EENSG_8sentinelILb1EEEEEEEDaSR_
_ZZN3scn2v34impl12float_readerIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_ENKUlRKSI_E0_clISE_EEDaSP_
Line
Count
Source
3663
108k
    auto&& SCN_TRY_TMP = (x);                          \
_ZZN3scn2v34impl12float_readerIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_ENKUlRKSI_E_clISE_EEDaSP_
Line
Count
Source
3663
246k
    auto&& SCN_TRY_TMP = (x);                          \
_ZZN3scn2v34impl12float_readerIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_ENKUlRKSH_E0_clINS9_INS1_27counted_width_iterator_impl22counted_width_iteratorISB_SB_EENSD_8sentinelILb1EEEEEEEDaSO_
Line
Count
Source
3663
6
    auto&& SCN_TRY_TMP = (x);                          \
_ZZN3scn2v34impl12float_readerIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_ENKUlRKSH_E_clINS9_INS1_27counted_width_iterator_impl22counted_width_iteratorISB_SB_EENSD_8sentinelILb1EEEEEEEDaSO_
Line
Count
Source
3663
102
    auto&& SCN_TRY_TMP = (x);                          \
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_ENKUlRKSF_E0_clISB_EEDaSM_
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_ENKUlRKSF_E_clISB_EEDaSM_
3664
48.2M
    if (SCN_UNLIKELY(!SCN_TRY_TMP)) {                  \
3665
2.34M
        return ::scn::unexpected(SCN_TRY_TMP.error()); \
3666
2.34M
    }                                                  \
3667
48.2M
    init = *SCN_FWD(SCN_TRY_TMP);
3668
40.4M
#define SCN_TRY(name, x) SCN_TRY_ASSIGN(auto name, x)
3669
3670
#define SCN_TRY_ERR(name, x)          \
3671
    auto&& SCN_TRY_TMP = (x);         \
3672
    if (SCN_UNLIKELY(!SCN_TRY_TMP)) { \
3673
        return SCN_TRY_TMP.error();   \
3674
    }                                 \
3675
    auto name = *SCN_FWD(SCN_TRY_TMP);
3676
3677
/////////////////////////////////////////////////////////////////
3678
// string_view utilities
3679
/////////////////////////////////////////////////////////////////
3680
3681
namespace detail {
3682
3683
template <typename T>
3684
struct is_string_view : std::false_type {};
3685
template <typename CharT, typename Traits>
3686
struct is_string_view<std::basic_string_view<CharT, Traits>> : std::true_type {
3687
};
3688
3689
// workarounds for MSVC string_view debug iterators
3690
template <typename CharT>
3691
constexpr std::basic_string_view<CharT> make_string_view_from_iterators(
3692
    typename std::basic_string_view<CharT>::iterator first,
3693
    typename std::basic_string_view<CharT>::iterator last)
3694
83.1M
{
3695
    if constexpr (std::is_constructible_v<std::basic_string_view<CharT>,
3696
                                          decltype(first), decltype(last)> &&
3697
                  !SCN_MSVC_DEBUG_ITERATORS) {
3698
        return {first, last};
3699
    }
3700
83.1M
    else {
3701
83.1M
        return {to_address(first), static_cast<size_t>(std::distance(
3702
83.1M
                                       to_address(first), to_address(last)))};
3703
83.1M
    }
3704
83.1M
}
std::__1::basic_string_view<char, std::__1::char_traits<char> > scn::v3::detail::make_string_view_from_iterators<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >::iterator, std::__1::basic_string_view<char, std::__1::char_traits<char> >::iterator)
Line
Count
Source
3694
11.3M
{
3695
    if constexpr (std::is_constructible_v<std::basic_string_view<CharT>,
3696
                                          decltype(first), decltype(last)> &&
3697
                  !SCN_MSVC_DEBUG_ITERATORS) {
3698
        return {first, last};
3699
    }
3700
11.3M
    else {
3701
11.3M
        return {to_address(first), static_cast<size_t>(std::distance(
3702
11.3M
                                       to_address(first), to_address(last)))};
3703
11.3M
    }
3704
11.3M
}
std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > scn::v3::detail::make_string_view_from_iterators<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >::iterator, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >::iterator)
Line
Count
Source
3694
71.7M
{
3695
    if constexpr (std::is_constructible_v<std::basic_string_view<CharT>,
3696
                                          decltype(first), decltype(last)> &&
3697
                  !SCN_MSVC_DEBUG_ITERATORS) {
3698
        return {first, last};
3699
    }
3700
71.7M
    else {
3701
71.7M
        return {to_address(first), static_cast<size_t>(std::distance(
3702
71.7M
                                       to_address(first), to_address(last)))};
3703
71.7M
    }
3704
71.7M
}
3705
3706
template <typename CharT>
3707
constexpr std::basic_string_view<CharT> make_string_view_from_pointers(
3708
    const CharT* first,
3709
    const CharT* last)
3710
3.34M
{
3711
    if constexpr (std::is_constructible_v<std::basic_string_view<CharT>,
3712
                                          const CharT*, const CharT*>) {
3713
        return {first, last};
3714
    }
3715
3.34M
    else {
3716
3.34M
        return {first, static_cast<size_t>(std::distance(first, last))};
3717
3.34M
    }
3718
3.34M
}
std::__1::basic_string_view<char, std::__1::char_traits<char> > scn::v3::detail::make_string_view_from_pointers<char>(char const*, char const*)
Line
Count
Source
3710
1.72M
{
3711
    if constexpr (std::is_constructible_v<std::basic_string_view<CharT>,
3712
                                          const CharT*, const CharT*>) {
3713
        return {first, last};
3714
    }
3715
1.72M
    else {
3716
1.72M
        return {first, static_cast<size_t>(std::distance(first, last))};
3717
1.72M
    }
3718
1.72M
}
std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > scn::v3::detail::make_string_view_from_pointers<wchar_t>(wchar_t const*, wchar_t const*)
Line
Count
Source
3710
1.61M
{
3711
    if constexpr (std::is_constructible_v<std::basic_string_view<CharT>,
3712
                                          const CharT*, const CharT*>) {
3713
        return {first, last};
3714
    }
3715
1.61M
    else {
3716
1.61M
        return {first, static_cast<size_t>(std::distance(first, last))};
3717
1.61M
    }
3718
1.61M
}
3719
3720
template <typename CharT>
3721
constexpr auto make_string_view_iterator(
3722
    std::basic_string_view<CharT> sv,
3723
    typename std::basic_string_view<CharT>::iterator it) ->
3724
    typename std::basic_string_view<CharT>::iterator
3725
12.1M
{
3726
    if constexpr (std::is_constructible_v<
3727
                      typename std::basic_string_view<CharT>::iterator,
3728
                      decltype(it)> &&
3729
12.1M
                  !SCN_MSVC_DEBUG_ITERATORS) {
3730
12.1M
        SCN_UNUSED(sv);
3731
12.1M
        return it;
3732
    }
3733
    else {
3734
        return sv.begin() + std::distance(sv.data(), detail::to_address(it));
3735
    }
3736
12.1M
}
std::__1::basic_string_view<char, std::__1::char_traits<char> >::iterator scn::v3::detail::make_string_view_iterator<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >, std::__1::basic_string_view<char, std::__1::char_traits<char> >::iterator)
Line
Count
Source
3725
12.1M
{
3726
    if constexpr (std::is_constructible_v<
3727
                      typename std::basic_string_view<CharT>::iterator,
3728
                      decltype(it)> &&
3729
12.1M
                  !SCN_MSVC_DEBUG_ITERATORS) {
3730
12.1M
        SCN_UNUSED(sv);
3731
12.1M
        return it;
3732
    }
3733
    else {
3734
        return sv.begin() + std::distance(sv.data(), detail::to_address(it));
3735
    }
3736
12.1M
}
std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >::iterator scn::v3::detail::make_string_view_iterator<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >::iterator)
Line
Count
Source
3725
7.38k
{
3726
    if constexpr (std::is_constructible_v<
3727
                      typename std::basic_string_view<CharT>::iterator,
3728
                      decltype(it)> &&
3729
7.38k
                  !SCN_MSVC_DEBUG_ITERATORS) {
3730
7.38k
        SCN_UNUSED(sv);
3731
7.38k
        return it;
3732
    }
3733
    else {
3734
        return sv.begin() + std::distance(sv.data(), detail::to_address(it));
3735
    }
3736
7.38k
}
3737
3738
template <typename CharT>
3739
constexpr auto make_string_view_iterator_from_pointer(
3740
    std::basic_string_view<CharT> sv,
3741
    const CharT* ptr) -> typename std::basic_string_view<CharT>::iterator
3742
{
3743
    if constexpr (std::is_constructible_v<
3744
                      typename std::basic_string_view<CharT>::iterator,
3745
                      const CharT*> &&
3746
                  !SCN_MSVC_DEBUG_ITERATORS) {
3747
        SCN_UNUSED(sv);
3748
        return ptr;
3749
    }
3750
    else {
3751
        return sv.begin() + std::distance(sv.data(), ptr);
3752
    }
3753
}
3754
3755
/////////////////////////////////////////////////////////////////
3756
// Lightweight Unicode facilities
3757
/////////////////////////////////////////////////////////////////
3758
3759
constexpr inline bool is_ascii_code_point(char32_t cp)
3760
0
{
3761
0
    return cp <= 0x7f;
3762
0
}
3763
3764
template <typename U8>
3765
constexpr std::size_t utf8_code_point_length_by_starting_code_unit(U8 ch)
3766
13.0M
{
3767
13.0M
    static_assert(sizeof(U8) == 1);
3768
3769
13.0M
    SCN_GCC_COMPAT_PUSH
3770
13.0M
    SCN_GCC_COMPAT_IGNORE("-Wsign-conversion")
3771
13.0M
    constexpr char lengths[] =
3772
13.0M
        "\1\1\1\1\1\1\1\1"  // highest bit is 0 -> single-byte
3773
13.0M
        "\1\1\1\1\1\1\1\1"
3774
13.0M
        "\0\0\0\0\0\0\0\0"  // highest bits 10 -> error, non-initial
3775
                            // byte
3776
13.0M
        "\2\2\2\2"          // highest bits 110 -> 2-byte cp
3777
13.0M
        "\3\3"              // highest bits 1110 -> 3-byte cp
3778
13.0M
        "\4";               // highest bits 11110 -> 4-byte cp
3779
13.0M
    return lengths[static_cast<unsigned char>(ch) >> 3];
3780
13.0M
    SCN_GCC_COMPAT_POP
3781
13.0M
}
3782
3783
template <typename U16>
3784
constexpr std::size_t utf16_code_point_length_by_starting_code_unit(U16 ch)
3785
{
3786
    static_assert(sizeof(U16) == 2);
3787
3788
    const auto lead = static_cast<uint16_t>(0xffff & ch);
3789
    if (lead >= 0xd800 && lead <= 0xdbff) {
3790
        // high surrogate
3791
        return 2;
3792
    }
3793
    if (lead >= 0xdc00 && lead <= 0xdfff) {
3794
        // unpaired low surrogate
3795
        return 0;
3796
    }
3797
    return 1;
3798
}
3799
3800
template <typename U>
3801
constexpr std::size_t code_point_length_by_starting_code_unit(U ch)
3802
169M
{
3803
169M
    if constexpr (sizeof(U) == 1) {
3804
13.0M
        return utf8_code_point_length_by_starting_code_unit(ch);
3805
    }
3806
    else if constexpr (sizeof(U) == 2) {
3807
        return utf16_code_point_length_by_starting_code_unit(ch);
3808
    }
3809
156M
    else {
3810
        // utf-32
3811
156M
        static_assert(sizeof(U) == 4);
3812
156M
        SCN_UNUSED(ch);
3813
156M
        return 1;
3814
156M
    }
3815
169M
}
unsigned long scn::v3::detail::code_point_length_by_starting_code_unit<char>(char)
Line
Count
Source
3802
13.0M
{
3803
13.0M
    if constexpr (sizeof(U) == 1) {
3804
13.0M
        return utf8_code_point_length_by_starting_code_unit(ch);
3805
    }
3806
    else if constexpr (sizeof(U) == 2) {
3807
        return utf16_code_point_length_by_starting_code_unit(ch);
3808
    }
3809
    else {
3810
        // utf-32
3811
        static_assert(sizeof(U) == 4);
3812
        SCN_UNUSED(ch);
3813
        return 1;
3814
    }
3815
13.0M
}
unsigned long scn::v3::detail::code_point_length_by_starting_code_unit<wchar_t>(wchar_t)
Line
Count
Source
3802
156M
{
3803
    if constexpr (sizeof(U) == 1) {
3804
        return utf8_code_point_length_by_starting_code_unit(ch);
3805
    }
3806
    else if constexpr (sizeof(U) == 2) {
3807
        return utf16_code_point_length_by_starting_code_unit(ch);
3808
    }
3809
156M
    else {
3810
        // utf-32
3811
156M
        static_assert(sizeof(U) == 4);
3812
156M
        SCN_UNUSED(ch);
3813
156M
        return 1;
3814
156M
    }
3815
156M
}
3816
3817
inline constexpr char32_t invalid_code_point = 0x110000;
3818
3819
inline constexpr char32_t decode_utf8_code_point_exhaustive(
3820
    std::string_view input)
3821
12.1M
{
3822
12.1M
    SCN_EXPECT(!input.empty() && input.size() <= 4);
3823
3824
12.1M
    const auto is_trailing_code_unit = [](char ch) {
3825
1.28M
        return static_cast<unsigned char>(ch) >> 6 == 0x2;
3826
1.28M
    };
3827
3828
12.1M
    if (input.size() == 1) {
3829
11.1M
        if (static_cast<unsigned char>(input[0]) >= 0x80) {
3830
2.14k
            SCN_UNLIKELY_ATTR
3831
2.14k
            return invalid_code_point;
3832
2.14k
        }
3833
11.1M
        return static_cast<char32_t>(input[0]);
3834
11.1M
    }
3835
3836
933k
    if (input.size() == 2) {
3837
558k
        if ((static_cast<unsigned char>(input[0]) & 0xe0) != 0xc0) {
3838
406
            SCN_UNLIKELY_ATTR
3839
406
            return invalid_code_point;
3840
406
        }
3841
557k
        if (!is_trailing_code_unit(input[1])) {
3842
23.8k
            SCN_UNLIKELY_ATTR
3843
23.8k
            return invalid_code_point;
3844
23.8k
        }
3845
3846
533k
        char32_t cp{};
3847
533k
        cp |= (static_cast<char32_t>(input[0]) & 0x1f) << 6;
3848
533k
        cp |= (static_cast<char32_t>(input[1]) & 0x3f) << 0;
3849
533k
        return cp;
3850
557k
    }
3851
3852
375k
    if (input.size() == 3) {
3853
347k
        if ((static_cast<unsigned char>(input[0]) & 0xf0) != 0xe0) {
3854
214
            SCN_UNLIKELY_ATTR
3855
214
            return invalid_code_point;
3856
214
        }
3857
347k
        if (!is_trailing_code_unit(input[1]) ||
3858
347k
            !is_trailing_code_unit(input[2])) {
3859
15.2k
            SCN_UNLIKELY_ATTR
3860
15.2k
            return invalid_code_point;
3861
15.2k
        }
3862
3863
332k
        char32_t cp{};
3864
332k
        cp |= (static_cast<char32_t>(input[0]) & 0x0f) << 12;
3865
332k
        cp |= (static_cast<char32_t>(input[1]) & 0x3f) << 6;
3866
332k
        cp |= (static_cast<char32_t>(input[2]) & 0x3f) << 0;
3867
332k
        return cp;
3868
347k
    }
3869
3870
28.1k
    if (input.size() == 4) {
3871
28.1k
        if ((static_cast<unsigned char>(input[0]) & 0xf8) != 0xf0) {
3872
0
            SCN_UNLIKELY_ATTR
3873
0
            return invalid_code_point;
3874
0
        }
3875
28.1k
        if (static_cast<unsigned char>(input[0]) > 0xf4) {
3876
10.9k
            SCN_UNLIKELY_ATTR
3877
10.9k
            return invalid_code_point;
3878
10.9k
        }
3879
17.2k
        if (!is_trailing_code_unit(input[1]) ||
3880
17.2k
            !is_trailing_code_unit(input[2]) ||
3881
17.2k
            !is_trailing_code_unit(input[3])) {
3882
6.75k
            SCN_UNLIKELY_ATTR
3883
6.75k
            return invalid_code_point;
3884
6.75k
        }
3885
3886
10.4k
        char32_t cp{};
3887
10.4k
        cp |= (static_cast<char32_t>(input[0]) & 0x07) << 18;
3888
10.4k
        cp |= (static_cast<char32_t>(input[1]) & 0x3f) << 12;
3889
10.4k
        cp |= (static_cast<char32_t>(input[2]) & 0x3f) << 6;
3890
10.4k
        cp |= (static_cast<char32_t>(input[3]) & 0x3f) << 0;
3891
10.4k
        return cp;
3892
17.2k
    }
3893
3894
0
#if !SCN_GCC || SCN_GCC >= SCN_COMPILER(8, 0, 0)
3895
    // gcc 7 thinks we'll get here, even when we won't
3896
0
    SCN_EXPECT(false);
3897
0
#endif
3898
0
    SCN_UNREACHABLE;
3899
0
}
3900
3901
inline constexpr char32_t decode_utf8_code_point_exhaustive_valid(
3902
    std::string_view input)
3903
117k
{
3904
117k
    SCN_EXPECT(!input.empty() && input.size() <= 4);
3905
3906
117k
    const auto is_trailing_code_unit = [](char ch) {
3907
16.3k
        return static_cast<unsigned char>(ch) >> 6 == 0x2;
3908
16.3k
    };
3909
3910
117k
    if (input.size() == 1) {
3911
102k
        SCN_EXPECT(static_cast<unsigned char>(input[0]) < 0x80);
3912
102k
        return static_cast<char32_t>(input[0]);
3913
102k
    }
3914
3915
15.2k
    if (input.size() == 2) {
3916
14.3k
        SCN_EXPECT((static_cast<unsigned char>(input[0]) & 0xe0) == 0xc0);
3917
14.3k
        SCN_EXPECT(is_trailing_code_unit(input[1]));
3918
3919
14.3k
        char32_t cp{};
3920
14.3k
        cp |= (static_cast<char32_t>(input[0]) & 0x1f) << 6;
3921
14.3k
        cp |= (static_cast<char32_t>(input[1]) & 0x3f) << 0;
3922
14.3k
        return cp;
3923
14.3k
    }
3924
3925
926
    if (input.size() == 3) {
3926
772
        SCN_EXPECT((static_cast<unsigned char>(input[0]) & 0xf0) == 0xe0);
3927
772
        SCN_EXPECT(is_trailing_code_unit(input[1]));
3928
772
        SCN_EXPECT(is_trailing_code_unit(input[2]));
3929
3930
772
        char32_t cp{};
3931
772
        cp |= (static_cast<char32_t>(input[0]) & 0x0f) << 12;
3932
772
        cp |= (static_cast<char32_t>(input[1]) & 0x3f) << 6;
3933
772
        cp |= (static_cast<char32_t>(input[2]) & 0x3f) << 0;
3934
772
        return cp;
3935
772
    }
3936
3937
154
    if (input.size() == 4) {
3938
154
        SCN_EXPECT((static_cast<unsigned char>(input[0]) & 0xf8) == 0xf0);
3939
154
        SCN_EXPECT(static_cast<unsigned char>(input[0]) <= 0xf4);
3940
154
        SCN_EXPECT(is_trailing_code_unit(input[1]));
3941
154
        SCN_EXPECT(is_trailing_code_unit(input[2]));
3942
154
        SCN_EXPECT(is_trailing_code_unit(input[3]));
3943
3944
154
        char32_t cp{};
3945
154
        cp |= (static_cast<char32_t>(input[0]) & 0x07) << 18;
3946
154
        cp |= (static_cast<char32_t>(input[1]) & 0x3f) << 12;
3947
154
        cp |= (static_cast<char32_t>(input[2]) & 0x3f) << 6;
3948
154
        cp |= (static_cast<char32_t>(input[3]) & 0x3f) << 0;
3949
154
        return cp;
3950
154
    }
3951
3952
0
#if !SCN_GCC || SCN_GCC >= SCN_COMPILER(8, 0, 0)
3953
    // gcc 7 thinks we'll get here, even when we won't
3954
0
    SCN_EXPECT(false);
3955
0
#endif
3956
0
    SCN_UNREACHABLE;
3957
0
}
3958
3959
template <typename CharT>
3960
inline constexpr char32_t decode_utf16_code_point_exhaustive(
3961
    std::basic_string_view<CharT> input)
3962
{
3963
    static_assert(sizeof(CharT) == 2);
3964
3965
    SCN_EXPECT(!input.empty() && input.size() <= 2);
3966
3967
    if (input.size() == 1) {
3968
        return static_cast<char32_t>(input[0]);
3969
    }
3970
3971
    const auto lead = static_cast<uint32_t>(input[0]);
3972
    const auto trail = static_cast<uint32_t>(input[1]);
3973
    if (lead < 0xd800 || lead > 0xdbff || trail < 0xdc00 || trail > 0xdfff) {
3974
        SCN_UNLIKELY_ATTR
3975
        return invalid_code_point;
3976
    }
3977
3978
    const auto cp = ((lead - 0xd800) << 10) | (trail - 0xdc00);
3979
    return static_cast<char32_t>(cp + 0x10000);
3980
}
3981
3982
template <typename CharT>
3983
inline constexpr char32_t decode_utf16_code_point_exhaustive_valid(
3984
    std::basic_string_view<CharT> input)
3985
{
3986
    static_assert(sizeof(CharT) == 2);
3987
3988
    SCN_EXPECT(!input.empty() && input.size() <= 2);
3989
3990
    if (input.size() == 1) {
3991
        return static_cast<char32_t>(input[0]);
3992
    }
3993
3994
    const auto lead = static_cast<uint32_t>(input[0]);
3995
    const auto trail = static_cast<uint32_t>(input[1]);
3996
    SCN_EXPECT(lead >= 0xd800);
3997
    SCN_EXPECT(lead <= 0xdbff);
3998
    SCN_EXPECT(trail >= 0xdc00);
3999
    SCN_EXPECT(trail <= 0xdfff);
4000
4001
    const auto cp = ((lead - 0xd800) << 10) | (trail - 0xdc00);
4002
    return static_cast<char32_t>(cp + 0x10000);
4003
}
4004
4005
template <typename CharT>
4006
inline constexpr char32_t decode_code_point_exhaustive(
4007
    std::basic_string_view<CharT> input)
4008
168M
{
4009
168M
    if constexpr (sizeof(CharT) == 1) {
4010
12.1M
        return decode_utf8_code_point_exhaustive(input);
4011
    }
4012
    else if constexpr (sizeof(CharT) == 2) {
4013
        return decode_utf16_code_point_exhaustive(input);
4014
    }
4015
156M
    else {
4016
156M
        SCN_EXPECT(input.size() == 1);
4017
156M
        auto cp = static_cast<char32_t>(input.front());
4018
156M
        if (SCN_UNLIKELY(cp >= invalid_code_point)) {
4019
1.38M
            return invalid_code_point;
4020
1.38M
        }
4021
154M
        return cp;
4022
156M
    }
4023
168M
}
char32_t scn::v3::detail::decode_code_point_exhaustive<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Line
Count
Source
4008
12.1M
{
4009
12.1M
    if constexpr (sizeof(CharT) == 1) {
4010
12.1M
        return decode_utf8_code_point_exhaustive(input);
4011
    }
4012
    else if constexpr (sizeof(CharT) == 2) {
4013
        return decode_utf16_code_point_exhaustive(input);
4014
    }
4015
    else {
4016
        SCN_EXPECT(input.size() == 1);
4017
        auto cp = static_cast<char32_t>(input.front());
4018
        if (SCN_UNLIKELY(cp >= invalid_code_point)) {
4019
            return invalid_code_point;
4020
        }
4021
        return cp;
4022
    }
4023
12.1M
}
char32_t scn::v3::detail::decode_code_point_exhaustive<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
Line
Count
Source
4008
156M
{
4009
    if constexpr (sizeof(CharT) == 1) {
4010
        return decode_utf8_code_point_exhaustive(input);
4011
    }
4012
    else if constexpr (sizeof(CharT) == 2) {
4013
        return decode_utf16_code_point_exhaustive(input);
4014
    }
4015
156M
    else {
4016
156M
        SCN_EXPECT(input.size() == 1);
4017
156M
        auto cp = static_cast<char32_t>(input.front());
4018
156M
        if (SCN_UNLIKELY(cp >= invalid_code_point)) {
4019
1.38M
            return invalid_code_point;
4020
1.38M
        }
4021
154M
        return cp;
4022
156M
    }
4023
156M
}
4024
4025
template <typename CharT>
4026
inline constexpr char32_t decode_code_point_exhaustive_valid(
4027
    std::basic_string_view<CharT> input)
4028
117k
{
4029
117k
    if constexpr (sizeof(CharT) == 1) {
4030
117k
        return decode_utf8_code_point_exhaustive_valid(input);
4031
    }
4032
    else if constexpr (sizeof(CharT) == 2) {
4033
        return decode_utf16_code_point_exhaustive_valid(input);
4034
    }
4035
0
    else {
4036
0
        SCN_EXPECT(input.size() == 1);
4037
0
        return static_cast<char32_t>(input.front());
4038
0
    }
4039
117k
}
char32_t scn::v3::detail::decode_code_point_exhaustive_valid<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Line
Count
Source
4028
117k
{
4029
117k
    if constexpr (sizeof(CharT) == 1) {
4030
117k
        return decode_utf8_code_point_exhaustive_valid(input);
4031
    }
4032
    else if constexpr (sizeof(CharT) == 2) {
4033
        return decode_utf16_code_point_exhaustive_valid(input);
4034
    }
4035
    else {
4036
        SCN_EXPECT(input.size() == 1);
4037
        return static_cast<char32_t>(input.front());
4038
    }
4039
117k
}
Unexecuted instantiation: char32_t scn::v3::detail::decode_code_point_exhaustive_valid<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
4040
4041
inline constexpr bool is_cp_space(char32_t cp) noexcept
4042
89.7M
{
4043
    // Pattern_White_Space property
4044
89.7M
    return (cp >= 0x09 && cp <= 0x0d) ||
4045
89.7M
           cp == 0x20 ||    // ASCII space characters
4046
89.7M
           cp == 0x85 ||    // NEXT LINE (NEL)
4047
89.7M
           cp == 0x200e ||  // LEFT-TO-RIGHT MARK
4048
89.7M
           cp == 0x200f ||  // RIGHT-TO-LEFT MARK
4049
89.7M
           cp == 0x2028 ||  // LINE SEPARATOR
4050
89.7M
           cp == 0x2029;    // PARAGRAPH SEPARATOR
4051
89.7M
}
4052
4053
}  // namespace detail
4054
4055
/////////////////////////////////////////////////////////////////
4056
// scan_buffer
4057
/////////////////////////////////////////////////////////////////
4058
4059
namespace detail {
4060
template <typename CharT>
4061
class basic_scan_buffer {
4062
public:
4063
    class forward_iterator;
4064
4065
    using char_type = CharT;
4066
    using range_type =
4067
        ranges::subrange<forward_iterator, ranges::default_sentinel_t>;
4068
4069
    basic_scan_buffer(const basic_scan_buffer&) = delete;
4070
    basic_scan_buffer& operator=(const basic_scan_buffer&) = delete;
4071
    basic_scan_buffer(basic_scan_buffer&&) = delete;
4072
    basic_scan_buffer& operator=(basic_scan_buffer&&) = delete;
4073
3.40M
    virtual ~basic_scan_buffer() = default;
scn::v3::detail::basic_scan_buffer<char>::~basic_scan_buffer()
Line
Count
Source
4073
1.80M
    virtual ~basic_scan_buffer() = default;
scn::v3::detail::basic_scan_buffer<wchar_t>::~basic_scan_buffer()
Line
Count
Source
4073
1.60M
    virtual ~basic_scan_buffer() = default;
4074
4075
    virtual bool fill() = 0;
4076
4077
    virtual void sync(std::ptrdiff_t position)
4078
3.40M
    {
4079
3.40M
        SCN_UNUSED(position);
4080
3.40M
    }
scn::v3::detail::basic_scan_buffer<char>::sync(long)
Line
Count
Source
4078
1.80M
    {
4079
1.80M
        SCN_UNUSED(position);
4080
1.80M
    }
scn::v3::detail::basic_scan_buffer<wchar_t>::sync(long)
Line
Count
Source
4078
1.60M
    {
4079
1.60M
        SCN_UNUSED(position);
4080
1.60M
    }
4081
4082
    void sync_all()
4083
568k
    {
4084
568k
        sync(0);
4085
568k
    }
scn::v3::detail::basic_scan_buffer<char>::sync_all()
Line
Count
Source
4083
189k
    {
4084
189k
        sync(0);
4085
189k
    }
scn::v3::detail::basic_scan_buffer<wchar_t>::sync_all()
Line
Count
Source
4083
378k
    {
4084
378k
        sync(0);
4085
378k
    }
4086
4087
    SCN_NODISCARD std::ptrdiff_t chars_available() const
4088
71.6G
    {
4089
71.6G
        return m_putback_buffer.size() + m_current_view.size();
4090
71.6G
    }
scn::v3::detail::basic_scan_buffer<char>::chars_available() const
Line
Count
Source
4088
180M
    {
4089
180M
        return m_putback_buffer.size() + m_current_view.size();
4090
180M
    }
scn::v3::detail::basic_scan_buffer<wchar_t>::chars_available() const
Line
Count
Source
4088
71.4G
    {
4089
71.4G
        return m_putback_buffer.size() + m_current_view.size();
4090
71.4G
    }
4091
4092
    SCN_NODISCARD std::basic_string_view<CharT> current_view() const
4093
0
    {
4094
0
        return m_current_view;
4095
0
    }
Unexecuted instantiation: scn::v3::detail::basic_scan_buffer<char>::current_view() const
Unexecuted instantiation: scn::v3::detail::basic_scan_buffer<wchar_t>::current_view() const
4096
4097
    SCN_NODISCARD std::basic_string<CharT>& putback_buffer()
4098
0
    {
4099
0
        return m_putback_buffer;
4100
0
    }
Unexecuted instantiation: scn::v3::detail::basic_scan_buffer<char>::putback_buffer()
Unexecuted instantiation: scn::v3::detail::basic_scan_buffer<wchar_t>::putback_buffer()
4101
    SCN_NODISCARD const std::basic_string<CharT>& putback_buffer() const
4102
    {
4103
        return m_putback_buffer;
4104
    }
4105
4106
    SCN_NODISCARD std::basic_string_view<CharT> get_segment_starting_at(
4107
        std::ptrdiff_t pos) const
4108
10.6M
    {
4109
10.6M
        if (SCN_UNLIKELY(
4110
10.6M
                pos < static_cast<std::ptrdiff_t>(m_putback_buffer.size()))) {
4111
5.16M
            return std::basic_string_view<CharT>(m_putback_buffer).substr(pos);
4112
5.16M
        }
4113
5.47M
        const auto start = pos - m_putback_buffer.size();
4114
5.47M
        SCN_EXPECT(start <= m_current_view.size());
4115
5.47M
        return m_current_view.substr(start);
4116
5.47M
    }
scn::v3::detail::basic_scan_buffer<char>::get_segment_starting_at(long) const
Line
Count
Source
4108
6.62M
    {
4109
6.62M
        if (SCN_UNLIKELY(
4110
6.62M
                pos < static_cast<std::ptrdiff_t>(m_putback_buffer.size()))) {
4111
2.71M
            return std::basic_string_view<CharT>(m_putback_buffer).substr(pos);
4112
2.71M
        }
4113
3.90M
        const auto start = pos - m_putback_buffer.size();
4114
3.90M
        SCN_EXPECT(start <= m_current_view.size());
4115
3.90M
        return m_current_view.substr(start);
4116
3.90M
    }
scn::v3::detail::basic_scan_buffer<wchar_t>::get_segment_starting_at(long) const
Line
Count
Source
4108
4.00M
    {
4109
4.00M
        if (SCN_UNLIKELY(
4110
4.00M
                pos < static_cast<std::ptrdiff_t>(m_putback_buffer.size()))) {
4111
2.44M
            return std::basic_string_view<CharT>(m_putback_buffer).substr(pos);
4112
2.44M
        }
4113
1.56M
        const auto start = pos - m_putback_buffer.size();
4114
1.56M
        SCN_EXPECT(start <= m_current_view.size());
4115
1.56M
        return m_current_view.substr(start);
4116
1.56M
    }
4117
4118
    SCN_NODISCARD CharT get_character_at(std::ptrdiff_t pos) const
4119
135M
    {
4120
135M
        if (SCN_UNLIKELY(
4121
135M
                pos < static_cast<std::ptrdiff_t>(m_putback_buffer.size()))) {
4122
59.0M
            return m_putback_buffer[pos];
4123
59.0M
        }
4124
76.4M
        const auto start = pos - m_putback_buffer.size();
4125
76.4M
        SCN_EXPECT(start < m_current_view.size());
4126
76.4M
        return m_current_view[start];
4127
76.4M
    }
scn::v3::detail::basic_scan_buffer<char>::get_character_at(long) const
Line
Count
Source
4119
38.1M
    {
4120
38.1M
        if (SCN_UNLIKELY(
4121
38.1M
                pos < static_cast<std::ptrdiff_t>(m_putback_buffer.size()))) {
4122
23.9M
            return m_putback_buffer[pos];
4123
23.9M
        }
4124
14.1M
        const auto start = pos - m_putback_buffer.size();
4125
14.1M
        SCN_EXPECT(start < m_current_view.size());
4126
14.1M
        return m_current_view[start];
4127
14.1M
    }
scn::v3::detail::basic_scan_buffer<wchar_t>::get_character_at(long) const
Line
Count
Source
4119
97.4M
    {
4120
97.4M
        if (SCN_UNLIKELY(
4121
97.4M
                pos < static_cast<std::ptrdiff_t>(m_putback_buffer.size()))) {
4122
35.0M
            return m_putback_buffer[pos];
4123
35.0M
        }
4124
62.3M
        const auto start = pos - m_putback_buffer.size();
4125
62.3M
        SCN_EXPECT(start < m_current_view.size());
4126
62.3M
        return m_current_view[start];
4127
62.3M
    }
4128
4129
    SCN_NODISCARD bool is_contiguous() const
4130
10.2M
    {
4131
10.2M
        return m_is_contiguous;
4132
10.2M
    }
scn::v3::detail::basic_scan_buffer<char>::is_contiguous() const
Line
Count
Source
4130
5.40M
    {
4131
5.40M
        return m_is_contiguous;
4132
5.40M
    }
scn::v3::detail::basic_scan_buffer<wchar_t>::is_contiguous() const
Line
Count
Source
4130
4.80M
    {
4131
4.80M
        return m_is_contiguous;
4132
4.80M
    }
4133
4134
    SCN_NODISCARD auto get_contiguous() const
4135
0
    {
4136
0
        SCN_EXPECT(is_contiguous());
4137
0
        return ranges::subrange<const CharT*>{
4138
0
            current_view().data(),
4139
0
            current_view().data() + current_view().size()};
4140
0
    }
Unexecuted instantiation: scn::v3::detail::basic_scan_buffer<char>::get_contiguous() const
Unexecuted instantiation: scn::v3::detail::basic_scan_buffer<wchar_t>::get_contiguous() const
4141
4142
    SCN_NODISCARD range_type get();
4143
4144
protected:
4145
    friend class forward_iterator;
4146
4147
    struct contiguous_tag {};
4148
    struct non_contiguous_tag {};
4149
4150
    basic_scan_buffer(contiguous_tag, std::basic_string_view<char_type> sv)
4151
0
        : m_current_view(sv), m_is_contiguous(true)
4152
0
    {
4153
0
    }
Unexecuted instantiation: scn::v3::detail::basic_scan_buffer<char>::basic_scan_buffer(scn::v3::detail::basic_scan_buffer<char>::contiguous_tag, std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Unexecuted instantiation: scn::v3::detail::basic_scan_buffer<wchar_t>::basic_scan_buffer(scn::v3::detail::basic_scan_buffer<wchar_t>::contiguous_tag, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
4154
4155
    basic_scan_buffer(non_contiguous_tag,
4156
                      std::basic_string_view<char_type> sv = {})
4157
3.40M
        : m_current_view(sv), m_is_contiguous(false)
4158
3.40M
    {
4159
3.40M
    }
scn::v3::detail::basic_scan_buffer<char>::basic_scan_buffer(scn::v3::detail::basic_scan_buffer<char>::non_contiguous_tag, std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Line
Count
Source
4157
1.80M
        : m_current_view(sv), m_is_contiguous(false)
4158
1.80M
    {
4159
1.80M
    }
scn::v3::detail::basic_scan_buffer<wchar_t>::basic_scan_buffer(scn::v3::detail::basic_scan_buffer<wchar_t>::non_contiguous_tag, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
Line
Count
Source
4157
1.60M
        : m_current_view(sv), m_is_contiguous(false)
4158
1.60M
    {
4159
1.60M
    }
4160
4161
    basic_scan_buffer(bool is_contiguous, std::basic_string_view<char_type> sv)
4162
        : m_current_view(sv), m_is_contiguous(is_contiguous)
4163
    {
4164
    }
4165
4166
    std::basic_string_view<char_type> m_current_view{};
4167
    std::basic_string<char_type> m_putback_buffer{};
4168
    bool m_is_contiguous{false};
4169
};
4170
4171
template <typename CharT>
4172
class basic_scan_buffer<CharT>::forward_iterator {
4173
public:
4174
    using value_type = CharT;
4175
    using reference = CharT;
4176
    using pointer = CharT*;
4177
    using difference_type = std::ptrdiff_t;
4178
    using iterator_category = std::forward_iterator_tag;
4179
4180
    forward_iterator() = default;
4181
4182
    forward_iterator(basic_scan_buffer<CharT>* parent, std::ptrdiff_t pos)
4183
3.40M
        : m_begin(parent), m_end(nullptr), m_position(pos)
4184
3.40M
    {
4185
3.40M
        SCN_EXPECT(parent);
4186
3.40M
        SCN_EXPECT(!parent->is_contiguous());
4187
3.40M
    }
scn::v3::detail::basic_scan_buffer<char>::forward_iterator::forward_iterator(scn::v3::detail::basic_scan_buffer<char>*, long)
Line
Count
Source
4183
1.80M
        : m_begin(parent), m_end(nullptr), m_position(pos)
4184
1.80M
    {
4185
1.80M
        SCN_EXPECT(parent);
4186
1.80M
        SCN_EXPECT(!parent->is_contiguous());
4187
1.80M
    }
scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator::forward_iterator(scn::v3::detail::basic_scan_buffer<wchar_t>*, long)
Line
Count
Source
4183
1.60M
        : m_begin(parent), m_end(nullptr), m_position(pos)
4184
1.60M
    {
4185
1.60M
        SCN_EXPECT(parent);
4186
1.60M
        SCN_EXPECT(!parent->is_contiguous());
4187
1.60M
    }
4188
4189
    forward_iterator(std::basic_string_view<CharT> view, std::ptrdiff_t pos)
4190
0
        : m_begin(const_cast<CharT*>(view.data())),
4191
0
          m_end(const_cast<CharT*>(view.data() + view.size())),
4192
0
          m_position(pos)
4193
0
    {
4194
0
    }
Unexecuted instantiation: scn::v3::detail::basic_scan_buffer<char>::forward_iterator::forward_iterator(std::__1::basic_string_view<char, std::__1::char_traits<char> >, long)
Unexecuted instantiation: scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator::forward_iterator(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, long)
4195
4196
    std::ptrdiff_t position() const
4197
17.5M
    {
4198
17.5M
        return m_position;
4199
17.5M
    }
scn::v3::detail::basic_scan_buffer<char>::forward_iterator::position() const
Line
Count
Source
4197
11.2M
    {
4198
11.2M
        return m_position;
4199
11.2M
    }
scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator::position() const
Line
Count
Source
4197
6.23M
    {
4198
6.23M
        return m_position;
4199
6.23M
    }
4200
4201
    bool stores_parent() const
4202
143G
    {
4203
143G
        assert(m_begin);
4204
143G
        return m_end == nullptr;
4205
143G
    }
scn::v3::detail::basic_scan_buffer<char>::forward_iterator::stores_parent() const
Line
Count
Source
4202
432M
    {
4203
432M
        assert(m_begin);
4204
432M
        return m_end == nullptr;
4205
432M
    }
scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator::stores_parent() const
Line
Count
Source
4202
143G
    {
4203
143G
        assert(m_begin);
4204
143G
        return m_end == nullptr;
4205
143G
    }
4206
4207
    basic_scan_buffer<CharT>* parent()
4208
5.05M
    {
4209
5.05M
        SCN_EXPECT(stores_parent());
4210
5.05M
        return static_cast<basic_scan_buffer<CharT>*>(m_begin);
4211
5.05M
    }
scn::v3::detail::basic_scan_buffer<char>::forward_iterator::parent()
Line
Count
Source
4208
3.48M
    {
4209
3.48M
        SCN_EXPECT(stores_parent());
4210
3.48M
        return static_cast<basic_scan_buffer<CharT>*>(m_begin);
4211
3.48M
    }
scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator::parent()
Line
Count
Source
4208
1.57M
    {
4209
1.57M
        SCN_EXPECT(stores_parent());
4210
1.57M
        return static_cast<basic_scan_buffer<CharT>*>(m_begin);
4211
1.57M
    }
4212
    const basic_scan_buffer<CharT>* parent() const
4213
71.8G
    {
4214
71.8G
        SCN_EXPECT(stores_parent());
4215
71.8G
        return static_cast<const basic_scan_buffer<CharT>*>(m_begin);
4216
71.8G
    }
scn::v3::detail::basic_scan_buffer<char>::forward_iterator::parent() const
Line
Count
Source
4213
241M
    {
4214
241M
        SCN_EXPECT(stores_parent());
4215
241M
        return static_cast<const basic_scan_buffer<CharT>*>(m_begin);
4216
241M
    }
scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator::parent() const
Line
Count
Source
4213
71.6G
    {
4214
71.6G
        SCN_EXPECT(stores_parent());
4215
71.6G
        return static_cast<const basic_scan_buffer<CharT>*>(m_begin);
4216
71.6G
    }
4217
4218
    std::basic_string_view<CharT> contiguous_segment() const
4219
10.6M
    {
4220
10.6M
        if (!stores_parent()) {
4221
0
            return make_string_view_from_pointers(
4222
0
                static_cast<const CharT*>(m_begin) + position(),
4223
0
                static_cast<const CharT*>(m_end));
4224
0
        }
4225
10.6M
        return parent()->get_segment_starting_at(position());
4226
10.6M
    }
scn::v3::detail::basic_scan_buffer<char>::forward_iterator::contiguous_segment() const
Line
Count
Source
4219
6.62M
    {
4220
6.62M
        if (!stores_parent()) {
4221
0
            return make_string_view_from_pointers(
4222
0
                static_cast<const CharT*>(m_begin) + position(),
4223
0
                static_cast<const CharT*>(m_end));
4224
0
        }
4225
6.62M
        return parent()->get_segment_starting_at(position());
4226
6.62M
    }
scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator::contiguous_segment() const
Line
Count
Source
4219
4.00M
    {
4220
4.00M
        if (!stores_parent()) {
4221
0
            return make_string_view_from_pointers(
4222
0
                static_cast<const CharT*>(m_begin) + position(),
4223
0
                static_cast<const CharT*>(m_end));
4224
0
        }
4225
4.00M
        return parent()->get_segment_starting_at(position());
4226
4.00M
    }
4227
    auto to_contiguous_segment_iterator() const
4228
    {
4229
        return contiguous_segment().data();
4230
    }
4231
4232
    forward_iterator& operator++()
4233
71.2G
    {
4234
71.2G
        ++m_position;
4235
71.2G
        (void)read_at_position();
4236
71.2G
        return *this;
4237
71.2G
    }
scn::v3::detail::basic_scan_buffer<char>::forward_iterator::operator++()
Line
Count
Source
4233
67.9M
    {
4234
67.9M
        ++m_position;
4235
67.9M
        (void)read_at_position();
4236
67.9M
        return *this;
4237
67.9M
    }
scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator::operator++()
Line
Count
Source
4233
71.1G
    {
4234
71.1G
        ++m_position;
4235
71.1G
        (void)read_at_position();
4236
71.1G
        return *this;
4237
71.1G
    }
4238
4239
    forward_iterator operator++(int)
4240
    {
4241
        auto copy = *this;
4242
        operator++();
4243
        return copy;
4244
    }
4245
4246
    CharT operator*() const
4247
135M
    {
4248
135M
        SCN_EXPECT(m_begin);
4249
4250
135M
        if (!stores_parent()) {
4251
0
            auto ptr = static_cast<const CharT*>(m_begin) + position();
4252
0
            SCN_EXPECT(ptr != m_end);
4253
0
            return *ptr;
4254
0
        }
4255
4256
135M
        auto res = read_at_position();
4257
135M
        SCN_EXPECT(res);
4258
135M
        return parent()->get_character_at(m_position);
4259
135M
    }
scn::v3::detail::basic_scan_buffer<char>::forward_iterator::operator*() const
Line
Count
Source
4247
38.1M
    {
4248
38.1M
        SCN_EXPECT(m_begin);
4249
4250
38.1M
        if (!stores_parent()) {
4251
0
            auto ptr = static_cast<const CharT*>(m_begin) + position();
4252
0
            SCN_EXPECT(ptr != m_end);
4253
0
            return *ptr;
4254
0
        }
4255
4256
38.1M
        auto res = read_at_position();
4257
38.1M
        SCN_EXPECT(res);
4258
38.1M
        return parent()->get_character_at(m_position);
4259
38.1M
    }
scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator::operator*() const
Line
Count
Source
4247
97.4M
    {
4248
97.4M
        SCN_EXPECT(m_begin);
4249
4250
97.4M
        if (!stores_parent()) {
4251
0
            auto ptr = static_cast<const CharT*>(m_begin) + position();
4252
0
            SCN_EXPECT(ptr != m_end);
4253
0
            return *ptr;
4254
0
        }
4255
4256
97.4M
        auto res = read_at_position();
4257
97.4M
        SCN_EXPECT(res);
4258
97.4M
        return parent()->get_character_at(m_position);
4259
97.4M
    }
4260
4261
    forward_iterator& batch_advance(std::ptrdiff_t n)
4262
    {
4263
        SCN_EXPECT(n >= 0);
4264
        m_position += n;
4265
        return *this;
4266
    }
4267
4268
    forward_iterator& batch_advance_to(std::ptrdiff_t i)
4269
0
    {
4270
0
        SCN_EXPECT(i >= m_position);
4271
0
        m_position = i;
4272
0
        return *this;
4273
0
    }
Unexecuted instantiation: scn::v3::detail::basic_scan_buffer<char>::forward_iterator::batch_advance_to(long)
Unexecuted instantiation: scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator::batch_advance_to(long)
4274
4275
    friend bool operator==(const forward_iterator& lhs,
4276
                           const forward_iterator& rhs)
4277
71.1G
    {
4278
71.1G
        return lhs.m_begin == rhs.m_begin && lhs.m_position == rhs.m_position;
4279
71.1G
    }
scn::v3::detail::operator==(scn::v3::detail::basic_scan_buffer<char>::forward_iterator const&, scn::v3::detail::basic_scan_buffer<char>::forward_iterator const&)
Line
Count
Source
4277
37.5M
    {
4278
37.5M
        return lhs.m_begin == rhs.m_begin && lhs.m_position == rhs.m_position;
4279
37.5M
    }
scn::v3::detail::operator==(scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator const&, scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator const&)
Line
Count
Source
4277
71.1G
    {
4278
71.1G
        return lhs.m_begin == rhs.m_begin && lhs.m_position == rhs.m_position;
4279
71.1G
    }
4280
    friend bool operator!=(const forward_iterator& lhs,
4281
                           const forward_iterator& rhs)
4282
71.1G
    {
4283
71.1G
        return !(lhs == rhs);
4284
71.1G
    }
scn::v3::detail::operator!=(scn::v3::detail::basic_scan_buffer<char>::forward_iterator const&, scn::v3::detail::basic_scan_buffer<char>::forward_iterator const&)
Line
Count
Source
4282
34.1M
    {
4283
34.1M
        return !(lhs == rhs);
4284
34.1M
    }
scn::v3::detail::operator!=(scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator const&, scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator const&)
Line
Count
Source
4282
71.0G
    {
4283
71.0G
        return !(lhs == rhs);
4284
71.0G
    }
4285
4286
    friend bool operator==(const forward_iterator& x,
4287
                           ranges::default_sentinel_t)
4288
48.2M
    {
4289
48.2M
        return x.is_at_end();
4290
48.2M
    }
scn::v3::detail::operator==(scn::v3::detail::basic_scan_buffer<char>::forward_iterator const&, scn::v3::ranges::default_sentinel_t)
Line
Count
Source
4288
14.5M
    {
4289
14.5M
        return x.is_at_end();
4290
14.5M
    }
scn::v3::detail::operator==(scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator const&, scn::v3::ranges::default_sentinel_t)
Line
Count
Source
4288
33.7M
    {
4289
33.7M
        return x.is_at_end();
4290
33.7M
    }
4291
    friend bool operator==(ranges::default_sentinel_t,
4292
                           const forward_iterator& x)
4293
    {
4294
        return x.is_at_end();
4295
    }
4296
4297
    friend bool operator!=(const forward_iterator& x,
4298
                           ranges::default_sentinel_t)
4299
84.5M
    {
4300
84.5M
        return !x.is_at_end();
4301
84.5M
    }
scn::v3::detail::operator!=(scn::v3::detail::basic_scan_buffer<char>::forward_iterator const&, scn::v3::ranges::default_sentinel_t)
Line
Count
Source
4299
19.4M
    {
4300
19.4M
        return !x.is_at_end();
4301
19.4M
    }
scn::v3::detail::operator!=(scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator const&, scn::v3::ranges::default_sentinel_t)
Line
Count
Source
4299
65.0M
    {
4300
65.0M
        return !x.is_at_end();
4301
65.0M
    }
4302
    friend bool operator!=(ranges::default_sentinel_t,
4303
                           const forward_iterator& x)
4304
    {
4305
        return !x.is_at_end();
4306
    }
4307
4308
private:
4309
    friend class basic_scan_buffer<CharT>;
4310
4311
    SCN_NODISCARD bool read_at_position() const
4312
71.4G
    {
4313
71.4G
        SCN_EXPECT(m_begin);
4314
4315
71.4G
        if (!stores_parent()) {
4316
0
            return true;
4317
0
        }
4318
4319
71.4G
        if (SCN_LIKELY(m_position < parent()->chars_available())) {
4320
71.3G
            return true;
4321
71.3G
        }
4322
4323
167M
        while (m_position >= parent()->chars_available()) {
4324
83.9M
            if (!const_cast<basic_scan_buffer<CharT>*>(parent())->fill()) {
4325
760k
                return false;
4326
760k
            }
4327
83.9M
        }
4328
83.1M
        return true;
4329
83.9M
    }
scn::v3::detail::basic_scan_buffer<char>::forward_iterator::read_at_position() const
Line
Count
Source
4312
139M
    {
4313
139M
        SCN_EXPECT(m_begin);
4314
4315
139M
        if (!stores_parent()) {
4316
0
            return true;
4317
0
        }
4318
4319
139M
        if (SCN_LIKELY(m_position < parent()->chars_available())) {
4320
121M
            return true;
4321
121M
        }
4322
4323
37.3M
        while (m_position >= parent()->chars_available()) {
4324
18.9M
            if (!const_cast<basic_scan_buffer<CharT>*>(parent())->fill()) {
4325
447k
                return false;
4326
447k
            }
4327
18.9M
        }
4328
18.4M
        return true;
4329
18.9M
    }
scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator::read_at_position() const
Line
Count
Source
4312
71.3G
    {
4313
71.3G
        SCN_EXPECT(m_begin);
4314
4315
71.3G
        if (!stores_parent()) {
4316
0
            return true;
4317
0
        }
4318
4319
71.3G
        if (SCN_LIKELY(m_position < parent()->chars_available())) {
4320
71.2G
            return true;
4321
71.2G
        }
4322
4323
129M
        while (m_position >= parent()->chars_available()) {
4324
65.0M
            if (!const_cast<basic_scan_buffer<CharT>*>(parent())->fill()) {
4325
312k
                return false;
4326
312k
            }
4327
65.0M
        }
4328
64.6M
        return true;
4329
65.0M
    }
4330
4331
    SCN_NODISCARD bool is_at_end() const
4332
132M
    {
4333
132M
        if (m_end) {
4334
0
            return (static_cast<const CharT*>(m_begin) + position()) == m_end;
4335
0
        }
4336
132M
        if (!m_begin) {
4337
0
            return true;
4338
0
        }
4339
132M
        return !read_at_position();
4340
132M
    }
scn::v3::detail::basic_scan_buffer<char>::forward_iterator::is_at_end() const
Line
Count
Source
4332
33.9M
    {
4333
33.9M
        if (m_end) {
4334
0
            return (static_cast<const CharT*>(m_begin) + position()) == m_end;
4335
0
        }
4336
33.9M
        if (!m_begin) {
4337
0
            return true;
4338
0
        }
4339
33.9M
        return !read_at_position();
4340
33.9M
    }
scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator::is_at_end() const
Line
Count
Source
4332
98.8M
    {
4333
98.8M
        if (m_end) {
4334
0
            return (static_cast<const CharT*>(m_begin) + position()) == m_end;
4335
0
        }
4336
98.8M
        if (!m_begin) {
4337
0
            return true;
4338
0
        }
4339
98.8M
        return !read_at_position();
4340
98.8M
    }
4341
4342
    // If m_end is null, m_begin points to the parent scan_buffer
4343
    // Otherwise, [m_begin, m_end) is the range of this iterator (and of
4344
    // the entire range)
4345
    mutable void* m_begin{nullptr};
4346
    mutable void* m_end{nullptr};
4347
    std::ptrdiff_t m_position{0};
4348
};
4349
4350
template <typename CharT>
4351
SCN_NODISCARD auto basic_scan_buffer<CharT>::get() -> range_type
4352
3.40M
{
4353
3.40M
    if (is_contiguous()) {
4354
0
        return ranges::subrange{forward_iterator{m_current_view, 0},
4355
0
                                ranges::default_sentinel};
4356
0
    }
4357
3.40M
    return ranges::subrange{forward_iterator{this, 0},
4358
3.40M
                            ranges::default_sentinel};
4359
3.40M
}
scn::v3::detail::basic_scan_buffer<char>::get()
Line
Count
Source
4352
1.80M
{
4353
1.80M
    if (is_contiguous()) {
4354
0
        return ranges::subrange{forward_iterator{m_current_view, 0},
4355
0
                                ranges::default_sentinel};
4356
0
    }
4357
1.80M
    return ranges::subrange{forward_iterator{this, 0},
4358
1.80M
                            ranges::default_sentinel};
4359
1.80M
}
scn::v3::detail::basic_scan_buffer<wchar_t>::get()
Line
Count
Source
4352
1.60M
{
4353
1.60M
    if (is_contiguous()) {
4354
0
        return ranges::subrange{forward_iterator{m_current_view, 0},
4355
0
                                ranges::default_sentinel};
4356
0
    }
4357
1.60M
    return ranges::subrange{forward_iterator{this, 0},
4358
1.60M
                            ranges::default_sentinel};
4359
1.60M
}
4360
4361
static_assert(ranges::forward_range<scan_buffer::range_type>);
4362
4363
template <typename CharT>
4364
class basic_scan_string_buffer : public basic_scan_buffer<CharT> {
4365
    using base = basic_scan_buffer<CharT>;
4366
4367
public:
4368
    basic_scan_string_buffer(std::basic_string_view<CharT> sv)
4369
0
        : base(typename base::contiguous_tag{}, sv)
4370
0
    {
4371
0
    }
Unexecuted instantiation: scn::v3::detail::basic_scan_string_buffer<char>::basic_scan_string_buffer(std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Unexecuted instantiation: scn::v3::detail::basic_scan_string_buffer<wchar_t>::basic_scan_string_buffer(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
4372
4373
    bool fill() override
4374
0
    {
4375
0
        SCN_EXPECT(false);
4376
0
        SCN_UNREACHABLE;
4377
0
    }
Unexecuted instantiation: scn::v3::detail::basic_scan_string_buffer<char>::fill()
Unexecuted instantiation: scn::v3::detail::basic_scan_string_buffer<wchar_t>::fill()
4378
};
4379
4380
template <typename CharT>
4381
basic_scan_string_buffer(std::basic_string_view<CharT>)
4382
    -> basic_scan_string_buffer<CharT>;
4383
4384
template <typename CharT>
4385
class basic_scan_forward_buffer_base : public basic_scan_buffer<CharT> {
4386
    using base = basic_scan_buffer<CharT>;
4387
4388
protected:
4389
3.40M
    basic_scan_forward_buffer_base() : base(typename base::non_contiguous_tag{})
4390
3.40M
    {
4391
3.40M
    }
scn::v3::detail::basic_scan_forward_buffer_base<char>::basic_scan_forward_buffer_base()
Line
Count
Source
4389
1.80M
    basic_scan_forward_buffer_base() : base(typename base::non_contiguous_tag{})
4390
1.80M
    {
4391
1.80M
    }
scn::v3::detail::basic_scan_forward_buffer_base<wchar_t>::basic_scan_forward_buffer_base()
Line
Count
Source
4389
1.60M
    basic_scan_forward_buffer_base() : base(typename base::non_contiguous_tag{})
4390
1.60M
    {
4391
1.60M
    }
4392
};
4393
4394
template <typename I, typename S>
4395
using less_than_compare =
4396
    decltype(SCN_DECLVAL(const I&) < SCN_DECLVAL(const S&));
4397
4398
template <typename Range>
4399
class basic_scan_forward_buffer_impl
4400
    : public basic_scan_forward_buffer_base<detail::char_t<Range>> {
4401
    static_assert(ranges::range<const Range> && std::is_object_v<Range>);
4402
4403
    using _char_type = detail::char_t<Range>;
4404
    using base = basic_scan_forward_buffer_base<_char_type>;
4405
4406
public:
4407
    using char_type = _char_type;
4408
    using range_type = Range;
4409
    using iterator = ranges::iterator_t<const Range>;
4410
    using sentinel = ranges::sentinel_t<const Range>;
4411
4412
    template <
4413
        typename R,
4414
        std::enable_if_t<is_not_self<R, basic_scan_forward_buffer_impl> &&
4415
                         std::is_convertible_v<R, const Range&>>* = nullptr>
4416
    basic_scan_forward_buffer_impl(R&& r)
4417
3.40M
        : m_range(std::addressof(static_cast<const Range&>(SCN_FWD(r)))),
4418
3.40M
          m_cursor(ranges::begin(*m_range))
4419
3.40M
    {
4420
3.40M
    }
_ZN3scn2v36detail30basic_scan_forward_buffer_implINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEEC2IRKSF_TnPNS7_9enable_ifIXaa11is_not_selfIT_SG_Esr3stdE16is_convertible_vISL_SJ_EEvE4typeELPv0EEEOSL_
Line
Count
Source
4417
1.80M
        : m_range(std::addressof(static_cast<const Range&>(SCN_FWD(r)))),
4418
1.80M
          m_cursor(ranges::begin(*m_range))
4419
1.80M
    {
4420
1.80M
    }
_ZN3scn2v36detail30basic_scan_forward_buffer_implINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRS9_PKSA_lLl1024EEESE_EEEC2IRKSF_TnPNS7_9enable_ifIXaa11is_not_selfIT_SG_Esr3stdE16is_convertible_vISL_SJ_EEvE4typeELPv0EEEOSL_
Line
Count
Source
4417
1.60M
        : m_range(std::addressof(static_cast<const Range&>(SCN_FWD(r)))),
4418
1.60M
          m_cursor(ranges::begin(*m_range))
4419
1.60M
    {
4420
1.60M
    }
4421
4422
    bool fill() override
4423
83.9M
    {
4424
83.9M
        if (m_cursor == ranges::end(*m_range)) {
4425
760k
            return false;
4426
760k
        }
4427
83.1M
        if constexpr (mp_valid_v<less_than_compare, iterator, sentinel>) {
4428
83.1M
            SCN_EXPECT(m_cursor < ranges::end(*m_range));
4429
83.1M
        }
4430
83.1M
        if (!this->m_current_view.empty()) {
4431
79.8M
            this->m_putback_buffer.insert(this->m_putback_buffer.end(),
4432
79.8M
                                          this->m_current_view.begin(),
4433
79.8M
                                          this->m_current_view.end());
4434
79.8M
        }
4435
83.1M
        m_latest = *m_cursor;
4436
83.1M
        ++m_cursor;
4437
83.1M
        this->m_current_view = std::basic_string_view<char_type>{&m_latest, 1};
4438
83.1M
        if constexpr (mp_valid_v<less_than_compare, iterator, sentinel>) {
4439
83.1M
            SCN_EXPECT(m_cursor <= ranges::end(*m_range));
4440
83.1M
        }
4441
83.1M
        return true;
4442
83.9M
    }
scn::v3::detail::basic_scan_forward_buffer_impl<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > >::fill()
Line
Count
Source
4423
18.9M
    {
4424
18.9M
        if (m_cursor == ranges::end(*m_range)) {
4425
447k
            return false;
4426
447k
        }
4427
18.4M
        if constexpr (mp_valid_v<less_than_compare, iterator, sentinel>) {
4428
18.4M
            SCN_EXPECT(m_cursor < ranges::end(*m_range));
4429
18.4M
        }
4430
18.4M
        if (!this->m_current_view.empty()) {
4431
16.7M
            this->m_putback_buffer.insert(this->m_putback_buffer.end(),
4432
16.7M
                                          this->m_current_view.begin(),
4433
16.7M
                                          this->m_current_view.end());
4434
16.7M
        }
4435
18.4M
        m_latest = *m_cursor;
4436
18.4M
        ++m_cursor;
4437
18.4M
        this->m_current_view = std::basic_string_view<char_type>{&m_latest, 1};
4438
18.4M
        if constexpr (mp_valid_v<less_than_compare, iterator, sentinel>) {
4439
18.4M
            SCN_EXPECT(m_cursor <= ranges::end(*m_range));
4440
18.4M
        }
4441
18.4M
        return true;
4442
18.9M
    }
scn::v3::detail::basic_scan_forward_buffer_impl<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > >::fill()
Line
Count
Source
4423
65.0M
    {
4424
65.0M
        if (m_cursor == ranges::end(*m_range)) {
4425
312k
            return false;
4426
312k
        }
4427
64.6M
        if constexpr (mp_valid_v<less_than_compare, iterator, sentinel>) {
4428
64.6M
            SCN_EXPECT(m_cursor < ranges::end(*m_range));
4429
64.6M
        }
4430
64.6M
        if (!this->m_current_view.empty()) {
4431
63.1M
            this->m_putback_buffer.insert(this->m_putback_buffer.end(),
4432
63.1M
                                          this->m_current_view.begin(),
4433
63.1M
                                          this->m_current_view.end());
4434
63.1M
        }
4435
64.6M
        m_latest = *m_cursor;
4436
64.6M
        ++m_cursor;
4437
64.6M
        this->m_current_view = std::basic_string_view<char_type>{&m_latest, 1};
4438
64.6M
        if constexpr (mp_valid_v<less_than_compare, iterator, sentinel>) {
4439
64.6M
            SCN_EXPECT(m_cursor <= ranges::end(*m_range));
4440
64.6M
        }
4441
64.6M
        return true;
4442
65.0M
    }
4443
4444
private:
4445
    const Range* m_range;
4446
    iterator m_cursor;
4447
    char_type m_latest{};
4448
};
4449
4450
template <typename R>
4451
basic_scan_forward_buffer_impl(const R&) -> basic_scan_forward_buffer_impl<R>;
4452
4453
class scan_file_buffer : public basic_scan_buffer<char> {
4454
    using base = basic_scan_buffer<char>;
4455
4456
public:
4457
    scan_file_buffer(std::FILE* file);
4458
    ~scan_file_buffer();
4459
4460
    bool fill() override;
4461
    void sync(std::ptrdiff_t position) override;
4462
4463
private:
4464
    std::FILE* m_file;
4465
    std::optional<char_type> m_latest{std::nullopt};
4466
};
4467
4468
template <typename CharT>
4469
class basic_scan_ref_buffer : public basic_scan_buffer<CharT> {
4470
    using base = basic_scan_buffer<CharT>;
4471
4472
public:
4473
    basic_scan_ref_buffer(base& other, std::ptrdiff_t starting_pos)
4474
        : base(other.is_contiguous(), std::basic_string_view<CharT>{}),
4475
          m_other(&other),
4476
          m_starting_pos(starting_pos)
4477
    {
4478
        this->m_current_view = other.get_segment_starting_at(starting_pos);
4479
        m_fill_needs_to_propagate = other.get_segment_starting_at(0).end() ==
4480
                                    this->m_current_view.end();
4481
    }
4482
4483
    basic_scan_ref_buffer(std::basic_string_view<CharT> view)
4484
        : base(true, view), m_other(nullptr)
4485
    {
4486
    }
4487
4488
    bool fill() override
4489
0
    {
4490
0
        if (!m_other) {
4491
0
            return false;
4492
0
        }
4493
0
        SCN_EXPECT(m_starting_pos >= 0);
4494
0
4495
0
        if (m_fill_needs_to_propagate) {
4496
0
            auto ret = m_other->fill();
4497
0
            this->m_current_view = m_other->current_view();
4498
0
            this->m_putback_buffer =
4499
0
                m_other->putback_buffer().substr(m_starting_pos);
4500
0
            return ret;
4501
0
        }
4502
0
4503
0
        m_fill_needs_to_propagate = true;
4504
0
        this->m_putback_buffer = std::basic_string<CharT>{this->m_current_view};
4505
0
        this->m_current_view = m_other->current_view();
4506
0
        return true;
4507
0
    }
Unexecuted instantiation: scn::v3::detail::basic_scan_ref_buffer<char>::fill()
Unexecuted instantiation: scn::v3::detail::basic_scan_ref_buffer<wchar_t>::fill()
4508
4509
private:
4510
    base* m_other;
4511
    std::ptrdiff_t m_starting_pos{-1};
4512
    bool m_fill_needs_to_propagate{false};
4513
};
4514
4515
template <typename CharT>
4516
basic_scan_ref_buffer(basic_scan_buffer<CharT>&, std::ptrdiff_t)
4517
    -> basic_scan_ref_buffer<CharT>;
4518
4519
template <typename CharT>
4520
basic_scan_ref_buffer(std::basic_string_view<CharT>)
4521
    -> basic_scan_ref_buffer<CharT>;
4522
4523
template <typename Range>
4524
auto make_string_scan_buffer(const Range& range)
4525
{
4526
    return basic_scan_string_buffer(
4527
        std::basic_string_view{ranges::data(range), ranges::size(range)});
4528
}
4529
4530
template <typename Range>
4531
auto make_forward_scan_buffer(const Range& range)
4532
3.40M
{
4533
3.40M
    return basic_scan_forward_buffer_impl(range);
4534
3.40M
}
auto scn::v3::detail::make_forward_scan_buffer<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > >(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > const&)
Line
Count
Source
4532
1.80M
{
4533
1.80M
    return basic_scan_forward_buffer_impl(range);
4534
1.80M
}
auto scn::v3::detail::make_forward_scan_buffer<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > >(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > const&)
Line
Count
Source
4532
1.60M
{
4533
1.60M
    return basic_scan_forward_buffer_impl(range);
4534
1.60M
}
4535
4536
inline auto make_file_scan_buffer(std::FILE* file)
4537
0
{
4538
0
    return scan_file_buffer(file);
4539
0
}
4540
}  // namespace detail
4541
4542
/////////////////////////////////////////////////////////////////
4543
// make_scan_buffer
4544
/////////////////////////////////////////////////////////////////
4545
4546
/**
4547
 * \defgroup scannable Scannable sources
4548
 *
4549
 * \brief Description of the `scannable_range` and `scannable_source`
4550
 * concepts.
4551
 *
4552
 * A range is considered scannable, if it models at least `forward_range`,
4553
 * and its character type is correct (its value type is the same as the one
4554
 * of the format string).
4555
 * If the range additionally models `contiguous_range` and `sized_range`,
4556
 * additional optimizations are enabled.
4557
 *
4558
 * \code{.cpp}
4559
 * // Exposition only
4560
 * template <typename Range, typename CharT>
4561
 * concept scannable_range =
4562
 *     ranges::forward_range<Range> &&
4563
 *     std::same_as<ranges::range_value_t<Range>, CharT>;
4564
 * \endcode
4565
 *
4566
 * Additionally, files (`std::FILE*`) can be scanned from.
4567
 * Files are always considered to be narrow (`char`-oriented).
4568
 * Thus, the entire concept is:
4569
 *
4570
 * \code{.cpp}
4571
 * // Exposition only
4572
 * template <typename Source, typename CharT>
4573
 * concept scannable_source =
4574
 *   (std::same_as<std::remove_cvref_t<Source>, std::FILE*> &&
4575
 *    std::same_as<CharT, char>) ||
4576
 *   scannable_range<Source, CharT>;
4577
 * \endcode
4578
 */
4579
4580
/**
4581
 * Tag type to indicate an invalid range given to `scn::scan`
4582
 *
4583
 * \ingroup scannable
4584
 */
4585
struct invalid_input_range {};
4586
4587
struct invalid_char_type : invalid_input_range {};
4588
struct custom_char_traits : invalid_input_range {};
4589
struct file_marker_found : invalid_input_range {};
4590
struct insufficient_range : invalid_input_range {};
4591
4592
namespace detail {
4593
template <typename CharT>
4594
inline constexpr bool is_valid_char_type =
4595
    std::is_same_v<std::remove_const_t<CharT>, char> ||
4596
    std::is_same_v<std::remove_const_t<CharT>, wchar_t>;
4597
4598
namespace _make_scan_buffer {
4599
// buffer -> ref_buffer
4600
inline auto impl(scan_buffer::range_type r, priority_tag<4>) noexcept
4601
    -> basic_scan_ref_buffer<char>
4602
0
{
4603
0
    if (!r.begin().stores_parent()) {
4604
0
        return basic_scan_ref_buffer{r.begin().contiguous_segment()};
4605
0
    }
4606
0
    return basic_scan_ref_buffer{*r.begin().parent(), r.begin().position()};
4607
0
}
4608
inline auto impl(wscan_buffer::range_type r, priority_tag<4>) noexcept
4609
    -> basic_scan_ref_buffer<wchar_t>
4610
0
{
4611
0
    if (!r.begin().stores_parent()) {
4612
0
        return basic_scan_ref_buffer{r.begin().contiguous_segment()};
4613
0
    }
4614
0
    return basic_scan_ref_buffer{*r.begin().parent(), r.begin().position()};
4615
0
}
4616
4617
// string_view -> string_buffer
4618
template <typename CharT>
4619
auto impl(std::basic_string_view<CharT> r, priority_tag<3>) noexcept
4620
302k
{
4621
302k
    if constexpr (is_valid_char_type<CharT>) {
4622
302k
        return r;
4623
        // return make_string_scan_buffer(r);
4624
    }
4625
    else {
4626
        return invalid_char_type{};
4627
    }
4628
302k
}
auto scn::v3::detail::_make_scan_buffer::impl<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >, scn::v3::detail::priority_tag<3ul>)
Line
Count
Source
4620
100k
{
4621
100k
    if constexpr (is_valid_char_type<CharT>) {
4622
100k
        return r;
4623
        // return make_string_scan_buffer(r);
4624
    }
4625
    else {
4626
        return invalid_char_type{};
4627
    }
4628
100k
}
auto scn::v3::detail::_make_scan_buffer::impl<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, scn::v3::detail::priority_tag<3ul>)
Line
Count
Source
4620
201k
{
4621
201k
    if constexpr (is_valid_char_type<CharT>) {
4622
201k
        return r;
4623
        // return make_string_scan_buffer(r);
4624
    }
4625
    else {
4626
        return invalid_char_type{};
4627
    }
4628
201k
}
4629
4630
// string& -> string_buffer
4631
template <typename CharT, typename Traits, typename Allocator>
4632
auto impl(const std::basic_string<CharT, Traits, Allocator>& r,
4633
          priority_tag<3>) noexcept
4634
{
4635
    if constexpr (!is_valid_char_type<CharT>) {
4636
        return invalid_char_type{};
4637
    }
4638
    else if constexpr (!std::is_same_v<Traits, std::char_traits<CharT>>) {
4639
        return custom_char_traits{};
4640
    }
4641
    else {
4642
        return std::basic_string_view<CharT>{r};
4643
    }
4644
}
4645
4646
// String literals:
4647
// CharT(&)[] -> string_buffer
4648
template <typename CharT,
4649
          std::size_t N,
4650
          std::enable_if_t<is_valid_char_type<CharT>>* = nullptr>
4651
auto impl(const CharT (&r)[N], priority_tag<3>) noexcept
4652
{
4653
    return std::basic_string_view<CharT>{r, N - 1};
4654
}
4655
4656
// FILE* -> file_buffer
4657
inline auto impl(std::FILE* file, priority_tag<3>)
4658
0
{
4659
0
    return make_file_scan_buffer(file);
4660
0
}
4661
4662
// contiguous + sized -> string_buffer
4663
template <typename Range,
4664
          std::enable_if_t<ranges::contiguous_range<Range> &&
4665
                           ranges::sized_range<Range>>* = nullptr>
4666
auto impl(const Range& r, priority_tag<2>)
4667
4.21M
{
4668
4.21M
    if constexpr (is_valid_char_type<detail::char_t<Range>>) {
4669
4.21M
        return std::basic_string_view{ranges::data(r), ranges::size(r)};
4670
    }
4671
    else {
4672
        return invalid_char_type{};
4673
    }
4674
4.21M
}
_ZN3scn2v36detail17_make_scan_buffer4implINS0_6ranges6detail9subrange_8subrangeIPKcS9_EETnPNSt3__19enable_ifIXaasr6rangesE16contiguous_rangeIT_Esr6rangesE11sized_rangeISD_EEvE4typeELPv0EEEDaRKSD_NS1_12priority_tagILm2EEE
Line
Count
Source
4667
1.74M
{
4668
1.74M
    if constexpr (is_valid_char_type<detail::char_t<Range>>) {
4669
1.74M
        return std::basic_string_view{ranges::data(r), ranges::size(r)};
4670
    }
4671
    else {
4672
        return invalid_char_type{};
4673
    }
4674
1.74M
}
_ZN3scn2v36detail17_make_scan_buffer4implINS0_6ranges6detail9subrange_8subrangeIPKwS9_EETnPNSt3__19enable_ifIXaasr6rangesE16contiguous_rangeIT_Esr6rangesE11sized_rangeISD_EEvE4typeELPv0EEEDaRKSD_NS1_12priority_tagILm2EEE
Line
Count
Source
4667
2.46M
{
4668
2.46M
    if constexpr (is_valid_char_type<detail::char_t<Range>>) {
4669
2.46M
        return std::basic_string_view{ranges::data(r), ranges::size(r)};
4670
    }
4671
    else {
4672
        return invalid_char_type{};
4673
    }
4674
2.46M
}
4675
4676
// !contiguous + random-access + iterator can be made into a ptr
4677
// for MSVC debug iterators
4678
//   -> string_buffer
4679
template <typename Range,
4680
          std::enable_if_t<!ranges::contiguous_range<Range> &&
4681
                           ranges::random_access_range<Range> &&
4682
                           can_make_address_from_iterator<
4683
                               ranges::iterator_t<Range>>>* = nullptr>
4684
auto impl(const Range& r, priority_tag<1>)
4685
{
4686
    if constexpr (is_valid_char_type<detail::char_t<Range>>) {
4687
        return make_string_view_from_pointers(to_address(ranges::begin(r)),
4688
                                              to_address(ranges::end(r)));
4689
    }
4690
    else {
4691
        return invalid_char_type{};
4692
    }
4693
}
4694
4695
// forward -> forward_buffer<R>
4696
template <typename Range>
4697
auto impl(const Range& r, priority_tag<0>)
4698
3.40M
{
4699
    if constexpr (std::is_same_v<Range, file_marker>) {
4700
        return file_marker_found{};
4701
    }
4702
    else if constexpr (!ranges::forward_range<Range>) {
4703
        if constexpr (ranges::range<Range>) {
4704
            return insufficient_range{};
4705
        }
4706
        else {
4707
            return invalid_input_range{};
4708
        }
4709
    }
4710
    else if constexpr (!is_valid_char_type<detail::char_t<Range>>) {
4711
        return invalid_char_type{};
4712
    }
4713
3.40M
    else {
4714
3.40M
        return make_forward_scan_buffer(r);
4715
3.40M
    }
4716
3.40M
}
auto scn::v3::detail::_make_scan_buffer::impl<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > >(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > const&, scn::v3::detail::priority_tag<0ul>)
Line
Count
Source
4698
1.80M
{
4699
    if constexpr (std::is_same_v<Range, file_marker>) {
4700
        return file_marker_found{};
4701
    }
4702
    else if constexpr (!ranges::forward_range<Range>) {
4703
        if constexpr (ranges::range<Range>) {
4704
            return insufficient_range{};
4705
        }
4706
        else {
4707
            return invalid_input_range{};
4708
        }
4709
    }
4710
    else if constexpr (!is_valid_char_type<detail::char_t<Range>>) {
4711
        return invalid_char_type{};
4712
    }
4713
1.80M
    else {
4714
1.80M
        return make_forward_scan_buffer(r);
4715
1.80M
    }
4716
1.80M
}
auto scn::v3::detail::_make_scan_buffer::impl<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > >(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > const&, scn::v3::detail::priority_tag<0ul>)
Line
Count
Source
4698
1.60M
{
4699
    if constexpr (std::is_same_v<Range, file_marker>) {
4700
        return file_marker_found{};
4701
    }
4702
    else if constexpr (!ranges::forward_range<Range>) {
4703
        if constexpr (ranges::range<Range>) {
4704
            return insufficient_range{};
4705
        }
4706
        else {
4707
            return invalid_input_range{};
4708
        }
4709
    }
4710
    else if constexpr (!is_valid_char_type<detail::char_t<Range>>) {
4711
        return invalid_char_type{};
4712
    }
4713
1.60M
    else {
4714
1.60M
        return make_forward_scan_buffer(r);
4715
1.60M
    }
4716
1.60M
}
4717
}  // namespace _make_scan_buffer
4718
4719
template <typename Range>
4720
inline constexpr bool is_scannable_range =
4721
    !std::is_base_of_v<invalid_input_range,
4722
                       decltype(_make_scan_buffer::impl(
4723
                                    SCN_DECLVAL(const Range&)),
4724
                                priority_tag<4>{})>;
4725
4726
template <typename Range>
4727
auto make_scan_buffer(const Range& range)
4728
7.91M
{
4729
7.91M
    using T = decltype(_make_scan_buffer::impl(range, priority_tag<4>{}));
4730
4731
7.91M
    static_assert(!std::is_same_v<T, invalid_char_type>,
4732
7.91M
                  "\n"
4733
7.91M
                  "Unsupported range type given as input to a scanning "
4734
7.91M
                  "function.\n"
4735
7.91M
                  "A range needs to have a character type (value type) "
4736
7.91M
                  "of either `char` or `wchar_t` to be scannable.\n"
4737
7.91M
                  "For proper `wchar_t` support, <scn/xchar.h> needs "
4738
7.91M
                  "to be included.\n"
4739
7.91M
                  "See the scnlib documentation for more details.");
4740
7.91M
    static_assert(
4741
7.91M
        !std::is_same_v<T, custom_char_traits>,
4742
7.91M
        "\n"
4743
7.91M
        "Unsupported range type given as input to a scanning "
4744
7.91M
        "function.\n"
4745
7.91M
        "String types (std::basic_string, and std::basic_string_view) "
4746
7.91M
        "need to use std::char_traits. Strings with custom Traits are "
4747
7.91M
        "not supported.");
4748
7.91M
    static_assert(!std::is_same_v<T, file_marker_found>,
4749
7.91M
                  "\n"
4750
7.91M
                  "Unsupported range type given as input to a scanning "
4751
7.91M
                  "function.\n"
4752
7.91M
                  "file_marker_found cannot be used as an "
4753
7.91M
                  "source range type to scn::scan.\n"
4754
7.91M
                  "To read from stdin, use scn::input or scn::prompt, "
4755
7.91M
                  "and do not provide an explicit source range, "
4756
7.91M
                  "or use scn::scan with a FILE* directly.");
4757
7.91M
    static_assert(!std::is_same_v<T, insufficient_range>,
4758
7.91M
                  "\n"
4759
7.91M
                  "Unsupported range type given as input to a scanning "
4760
7.91M
                  "function.\n"
4761
7.91M
                  "In order to be scannable, a range needs to satisfy "
4762
7.91M
                  "`forward_range`. `input_range` is not sufficient.");
4763
7.91M
    static_assert(!std::is_same_v<T, invalid_input_range>,
4764
7.91M
                  "\n"
4765
7.91M
                  "Unsupported range type given as input to a scanning "
4766
7.91M
                  "function.\n"
4767
7.91M
                  "A range needs to model forward_range and have a valid "
4768
7.91M
                  "character type (char or wchar_t) to be scannable.\n"
4769
7.91M
                  "Examples of scannable ranges are std::string, "
4770
7.91M
                  "std::string_view, "
4771
7.91M
                  "std::vector<char>, and scn::istreambuf_view.\n"
4772
7.91M
                  "See the scnlib documentation for more details.");
4773
4774
7.91M
    return _make_scan_buffer::impl(range, priority_tag<4>{});
4775
7.91M
}
auto scn::v3::detail::make_scan_buffer<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> const&)
Line
Count
Source
4728
1.74M
{
4729
1.74M
    using T = decltype(_make_scan_buffer::impl(range, priority_tag<4>{}));
4730
4731
1.74M
    static_assert(!std::is_same_v<T, invalid_char_type>,
4732
1.74M
                  "\n"
4733
1.74M
                  "Unsupported range type given as input to a scanning "
4734
1.74M
                  "function.\n"
4735
1.74M
                  "A range needs to have a character type (value type) "
4736
1.74M
                  "of either `char` or `wchar_t` to be scannable.\n"
4737
1.74M
                  "For proper `wchar_t` support, <scn/xchar.h> needs "
4738
1.74M
                  "to be included.\n"
4739
1.74M
                  "See the scnlib documentation for more details.");
4740
1.74M
    static_assert(
4741
1.74M
        !std::is_same_v<T, custom_char_traits>,
4742
1.74M
        "\n"
4743
1.74M
        "Unsupported range type given as input to a scanning "
4744
1.74M
        "function.\n"
4745
1.74M
        "String types (std::basic_string, and std::basic_string_view) "
4746
1.74M
        "need to use std::char_traits. Strings with custom Traits are "
4747
1.74M
        "not supported.");
4748
1.74M
    static_assert(!std::is_same_v<T, file_marker_found>,
4749
1.74M
                  "\n"
4750
1.74M
                  "Unsupported range type given as input to a scanning "
4751
1.74M
                  "function.\n"
4752
1.74M
                  "file_marker_found cannot be used as an "
4753
1.74M
                  "source range type to scn::scan.\n"
4754
1.74M
                  "To read from stdin, use scn::input or scn::prompt, "
4755
1.74M
                  "and do not provide an explicit source range, "
4756
1.74M
                  "or use scn::scan with a FILE* directly.");
4757
1.74M
    static_assert(!std::is_same_v<T, insufficient_range>,
4758
1.74M
                  "\n"
4759
1.74M
                  "Unsupported range type given as input to a scanning "
4760
1.74M
                  "function.\n"
4761
1.74M
                  "In order to be scannable, a range needs to satisfy "
4762
1.74M
                  "`forward_range`. `input_range` is not sufficient.");
4763
1.74M
    static_assert(!std::is_same_v<T, invalid_input_range>,
4764
1.74M
                  "\n"
4765
1.74M
                  "Unsupported range type given as input to a scanning "
4766
1.74M
                  "function.\n"
4767
1.74M
                  "A range needs to model forward_range and have a valid "
4768
1.74M
                  "character type (char or wchar_t) to be scannable.\n"
4769
1.74M
                  "Examples of scannable ranges are std::string, "
4770
1.74M
                  "std::string_view, "
4771
1.74M
                  "std::vector<char>, and scn::istreambuf_view.\n"
4772
1.74M
                  "See the scnlib documentation for more details.");
4773
4774
1.74M
    return _make_scan_buffer::impl(range, priority_tag<4>{});
4775
1.74M
}
auto scn::v3::detail::make_scan_buffer<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > >(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > const&)
Line
Count
Source
4728
1.80M
{
4729
1.80M
    using T = decltype(_make_scan_buffer::impl(range, priority_tag<4>{}));
4730
4731
1.80M
    static_assert(!std::is_same_v<T, invalid_char_type>,
4732
1.80M
                  "\n"
4733
1.80M
                  "Unsupported range type given as input to a scanning "
4734
1.80M
                  "function.\n"
4735
1.80M
                  "A range needs to have a character type (value type) "
4736
1.80M
                  "of either `char` or `wchar_t` to be scannable.\n"
4737
1.80M
                  "For proper `wchar_t` support, <scn/xchar.h> needs "
4738
1.80M
                  "to be included.\n"
4739
1.80M
                  "See the scnlib documentation for more details.");
4740
1.80M
    static_assert(
4741
1.80M
        !std::is_same_v<T, custom_char_traits>,
4742
1.80M
        "\n"
4743
1.80M
        "Unsupported range type given as input to a scanning "
4744
1.80M
        "function.\n"
4745
1.80M
        "String types (std::basic_string, and std::basic_string_view) "
4746
1.80M
        "need to use std::char_traits. Strings with custom Traits are "
4747
1.80M
        "not supported.");
4748
1.80M
    static_assert(!std::is_same_v<T, file_marker_found>,
4749
1.80M
                  "\n"
4750
1.80M
                  "Unsupported range type given as input to a scanning "
4751
1.80M
                  "function.\n"
4752
1.80M
                  "file_marker_found cannot be used as an "
4753
1.80M
                  "source range type to scn::scan.\n"
4754
1.80M
                  "To read from stdin, use scn::input or scn::prompt, "
4755
1.80M
                  "and do not provide an explicit source range, "
4756
1.80M
                  "or use scn::scan with a FILE* directly.");
4757
1.80M
    static_assert(!std::is_same_v<T, insufficient_range>,
4758
1.80M
                  "\n"
4759
1.80M
                  "Unsupported range type given as input to a scanning "
4760
1.80M
                  "function.\n"
4761
1.80M
                  "In order to be scannable, a range needs to satisfy "
4762
1.80M
                  "`forward_range`. `input_range` is not sufficient.");
4763
1.80M
    static_assert(!std::is_same_v<T, invalid_input_range>,
4764
1.80M
                  "\n"
4765
1.80M
                  "Unsupported range type given as input to a scanning "
4766
1.80M
                  "function.\n"
4767
1.80M
                  "A range needs to model forward_range and have a valid "
4768
1.80M
                  "character type (char or wchar_t) to be scannable.\n"
4769
1.80M
                  "Examples of scannable ranges are std::string, "
4770
1.80M
                  "std::string_view, "
4771
1.80M
                  "std::vector<char>, and scn::istreambuf_view.\n"
4772
1.80M
                  "See the scnlib documentation for more details.");
4773
4774
1.80M
    return _make_scan_buffer::impl(range, priority_tag<4>{});
4775
1.80M
}
auto scn::v3::detail::make_scan_buffer<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> const&)
Line
Count
Source
4728
2.46M
{
4729
2.46M
    using T = decltype(_make_scan_buffer::impl(range, priority_tag<4>{}));
4730
4731
2.46M
    static_assert(!std::is_same_v<T, invalid_char_type>,
4732
2.46M
                  "\n"
4733
2.46M
                  "Unsupported range type given as input to a scanning "
4734
2.46M
                  "function.\n"
4735
2.46M
                  "A range needs to have a character type (value type) "
4736
2.46M
                  "of either `char` or `wchar_t` to be scannable.\n"
4737
2.46M
                  "For proper `wchar_t` support, <scn/xchar.h> needs "
4738
2.46M
                  "to be included.\n"
4739
2.46M
                  "See the scnlib documentation for more details.");
4740
2.46M
    static_assert(
4741
2.46M
        !std::is_same_v<T, custom_char_traits>,
4742
2.46M
        "\n"
4743
2.46M
        "Unsupported range type given as input to a scanning "
4744
2.46M
        "function.\n"
4745
2.46M
        "String types (std::basic_string, and std::basic_string_view) "
4746
2.46M
        "need to use std::char_traits. Strings with custom Traits are "
4747
2.46M
        "not supported.");
4748
2.46M
    static_assert(!std::is_same_v<T, file_marker_found>,
4749
2.46M
                  "\n"
4750
2.46M
                  "Unsupported range type given as input to a scanning "
4751
2.46M
                  "function.\n"
4752
2.46M
                  "file_marker_found cannot be used as an "
4753
2.46M
                  "source range type to scn::scan.\n"
4754
2.46M
                  "To read from stdin, use scn::input or scn::prompt, "
4755
2.46M
                  "and do not provide an explicit source range, "
4756
2.46M
                  "or use scn::scan with a FILE* directly.");
4757
2.46M
    static_assert(!std::is_same_v<T, insufficient_range>,
4758
2.46M
                  "\n"
4759
2.46M
                  "Unsupported range type given as input to a scanning "
4760
2.46M
                  "function.\n"
4761
2.46M
                  "In order to be scannable, a range needs to satisfy "
4762
2.46M
                  "`forward_range`. `input_range` is not sufficient.");
4763
2.46M
    static_assert(!std::is_same_v<T, invalid_input_range>,
4764
2.46M
                  "\n"
4765
2.46M
                  "Unsupported range type given as input to a scanning "
4766
2.46M
                  "function.\n"
4767
2.46M
                  "A range needs to model forward_range and have a valid "
4768
2.46M
                  "character type (char or wchar_t) to be scannable.\n"
4769
2.46M
                  "Examples of scannable ranges are std::string, "
4770
2.46M
                  "std::string_view, "
4771
2.46M
                  "std::vector<char>, and scn::istreambuf_view.\n"
4772
2.46M
                  "See the scnlib documentation for more details.");
4773
4774
2.46M
    return _make_scan_buffer::impl(range, priority_tag<4>{});
4775
2.46M
}
auto scn::v3::detail::make_scan_buffer<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > >(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > const&)
Line
Count
Source
4728
1.60M
{
4729
1.60M
    using T = decltype(_make_scan_buffer::impl(range, priority_tag<4>{}));
4730
4731
1.60M
    static_assert(!std::is_same_v<T, invalid_char_type>,
4732
1.60M
                  "\n"
4733
1.60M
                  "Unsupported range type given as input to a scanning "
4734
1.60M
                  "function.\n"
4735
1.60M
                  "A range needs to have a character type (value type) "
4736
1.60M
                  "of either `char` or `wchar_t` to be scannable.\n"
4737
1.60M
                  "For proper `wchar_t` support, <scn/xchar.h> needs "
4738
1.60M
                  "to be included.\n"
4739
1.60M
                  "See the scnlib documentation for more details.");
4740
1.60M
    static_assert(
4741
1.60M
        !std::is_same_v<T, custom_char_traits>,
4742
1.60M
        "\n"
4743
1.60M
        "Unsupported range type given as input to a scanning "
4744
1.60M
        "function.\n"
4745
1.60M
        "String types (std::basic_string, and std::basic_string_view) "
4746
1.60M
        "need to use std::char_traits. Strings with custom Traits are "
4747
1.60M
        "not supported.");
4748
1.60M
    static_assert(!std::is_same_v<T, file_marker_found>,
4749
1.60M
                  "\n"
4750
1.60M
                  "Unsupported range type given as input to a scanning "
4751
1.60M
                  "function.\n"
4752
1.60M
                  "file_marker_found cannot be used as an "
4753
1.60M
                  "source range type to scn::scan.\n"
4754
1.60M
                  "To read from stdin, use scn::input or scn::prompt, "
4755
1.60M
                  "and do not provide an explicit source range, "
4756
1.60M
                  "or use scn::scan with a FILE* directly.");
4757
1.60M
    static_assert(!std::is_same_v<T, insufficient_range>,
4758
1.60M
                  "\n"
4759
1.60M
                  "Unsupported range type given as input to a scanning "
4760
1.60M
                  "function.\n"
4761
1.60M
                  "In order to be scannable, a range needs to satisfy "
4762
1.60M
                  "`forward_range`. `input_range` is not sufficient.");
4763
1.60M
    static_assert(!std::is_same_v<T, invalid_input_range>,
4764
1.60M
                  "\n"
4765
1.60M
                  "Unsupported range type given as input to a scanning "
4766
1.60M
                  "function.\n"
4767
1.60M
                  "A range needs to model forward_range and have a valid "
4768
1.60M
                  "character type (char or wchar_t) to be scannable.\n"
4769
1.60M
                  "Examples of scannable ranges are std::string, "
4770
1.60M
                  "std::string_view, "
4771
1.60M
                  "std::vector<char>, and scn::istreambuf_view.\n"
4772
1.60M
                  "See the scnlib documentation for more details.");
4773
4774
1.60M
    return _make_scan_buffer::impl(range, priority_tag<4>{});
4775
1.60M
}
auto scn::v3::detail::make_scan_buffer<std::__1::basic_string_view<char, std::__1::char_traits<char> > >(std::__1::basic_string_view<char, std::__1::char_traits<char> > const&)
Line
Count
Source
4728
100k
{
4729
100k
    using T = decltype(_make_scan_buffer::impl(range, priority_tag<4>{}));
4730
4731
100k
    static_assert(!std::is_same_v<T, invalid_char_type>,
4732
100k
                  "\n"
4733
100k
                  "Unsupported range type given as input to a scanning "
4734
100k
                  "function.\n"
4735
100k
                  "A range needs to have a character type (value type) "
4736
100k
                  "of either `char` or `wchar_t` to be scannable.\n"
4737
100k
                  "For proper `wchar_t` support, <scn/xchar.h> needs "
4738
100k
                  "to be included.\n"
4739
100k
                  "See the scnlib documentation for more details.");
4740
100k
    static_assert(
4741
100k
        !std::is_same_v<T, custom_char_traits>,
4742
100k
        "\n"
4743
100k
        "Unsupported range type given as input to a scanning "
4744
100k
        "function.\n"
4745
100k
        "String types (std::basic_string, and std::basic_string_view) "
4746
100k
        "need to use std::char_traits. Strings with custom Traits are "
4747
100k
        "not supported.");
4748
100k
    static_assert(!std::is_same_v<T, file_marker_found>,
4749
100k
                  "\n"
4750
100k
                  "Unsupported range type given as input to a scanning "
4751
100k
                  "function.\n"
4752
100k
                  "file_marker_found cannot be used as an "
4753
100k
                  "source range type to scn::scan.\n"
4754
100k
                  "To read from stdin, use scn::input or scn::prompt, "
4755
100k
                  "and do not provide an explicit source range, "
4756
100k
                  "or use scn::scan with a FILE* directly.");
4757
100k
    static_assert(!std::is_same_v<T, insufficient_range>,
4758
100k
                  "\n"
4759
100k
                  "Unsupported range type given as input to a scanning "
4760
100k
                  "function.\n"
4761
100k
                  "In order to be scannable, a range needs to satisfy "
4762
100k
                  "`forward_range`. `input_range` is not sufficient.");
4763
100k
    static_assert(!std::is_same_v<T, invalid_input_range>,
4764
100k
                  "\n"
4765
100k
                  "Unsupported range type given as input to a scanning "
4766
100k
                  "function.\n"
4767
100k
                  "A range needs to model forward_range and have a valid "
4768
100k
                  "character type (char or wchar_t) to be scannable.\n"
4769
100k
                  "Examples of scannable ranges are std::string, "
4770
100k
                  "std::string_view, "
4771
100k
                  "std::vector<char>, and scn::istreambuf_view.\n"
4772
100k
                  "See the scnlib documentation for more details.");
4773
4774
100k
    return _make_scan_buffer::impl(range, priority_tag<4>{});
4775
100k
}
auto scn::v3::detail::make_scan_buffer<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > const&)
Line
Count
Source
4728
201k
{
4729
201k
    using T = decltype(_make_scan_buffer::impl(range, priority_tag<4>{}));
4730
4731
201k
    static_assert(!std::is_same_v<T, invalid_char_type>,
4732
201k
                  "\n"
4733
201k
                  "Unsupported range type given as input to a scanning "
4734
201k
                  "function.\n"
4735
201k
                  "A range needs to have a character type (value type) "
4736
201k
                  "of either `char` or `wchar_t` to be scannable.\n"
4737
201k
                  "For proper `wchar_t` support, <scn/xchar.h> needs "
4738
201k
                  "to be included.\n"
4739
201k
                  "See the scnlib documentation for more details.");
4740
201k
    static_assert(
4741
201k
        !std::is_same_v<T, custom_char_traits>,
4742
201k
        "\n"
4743
201k
        "Unsupported range type given as input to a scanning "
4744
201k
        "function.\n"
4745
201k
        "String types (std::basic_string, and std::basic_string_view) "
4746
201k
        "need to use std::char_traits. Strings with custom Traits are "
4747
201k
        "not supported.");
4748
201k
    static_assert(!std::is_same_v<T, file_marker_found>,
4749
201k
                  "\n"
4750
201k
                  "Unsupported range type given as input to a scanning "
4751
201k
                  "function.\n"
4752
201k
                  "file_marker_found cannot be used as an "
4753
201k
                  "source range type to scn::scan.\n"
4754
201k
                  "To read from stdin, use scn::input or scn::prompt, "
4755
201k
                  "and do not provide an explicit source range, "
4756
201k
                  "or use scn::scan with a FILE* directly.");
4757
201k
    static_assert(!std::is_same_v<T, insufficient_range>,
4758
201k
                  "\n"
4759
201k
                  "Unsupported range type given as input to a scanning "
4760
201k
                  "function.\n"
4761
201k
                  "In order to be scannable, a range needs to satisfy "
4762
201k
                  "`forward_range`. `input_range` is not sufficient.");
4763
201k
    static_assert(!std::is_same_v<T, invalid_input_range>,
4764
201k
                  "\n"
4765
201k
                  "Unsupported range type given as input to a scanning "
4766
201k
                  "function.\n"
4767
201k
                  "A range needs to model forward_range and have a valid "
4768
201k
                  "character type (char or wchar_t) to be scannable.\n"
4769
201k
                  "Examples of scannable ranges are std::string, "
4770
201k
                  "std::string_view, "
4771
201k
                  "std::vector<char>, and scn::istreambuf_view.\n"
4772
201k
                  "See the scnlib documentation for more details.");
4773
4774
201k
    return _make_scan_buffer::impl(range, priority_tag<4>{});
4775
201k
}
4776
4777
template <
4778
    typename Range,
4779
    std::enable_if_t<
4780
        !std::is_reference_v<Range> && !ranges::borrowed_range<Range> &&
4781
        !std::is_same_v<std::FILE*, std::remove_reference_t<Range>>>* = nullptr>
4782
auto make_scan_buffer(Range&&) = delete;
4783
}  // namespace detail
4784
4785
/////////////////////////////////////////////////////////////////
4786
// Argument type erasure
4787
/////////////////////////////////////////////////////////////////
4788
4789
namespace detail {
4790
enum class arg_type : unsigned char {
4791
    none_type,
4792
    schar_type,
4793
    short_type,
4794
    int_type,
4795
    long_type,
4796
    llong_type,
4797
    uchar_type,
4798
    ushort_type,
4799
    uint_type,
4800
    ulong_type,
4801
    ullong_type,
4802
    bool_type,
4803
    narrow_character_type,
4804
    wide_character_type,
4805
    code_point_type,
4806
    pointer_type,
4807
    float_type,
4808
    double_type,
4809
    ldouble_type,
4810
    narrow_string_view_type,
4811
    wide_string_view_type,
4812
    narrow_string_type,
4813
    wide_string_type,
4814
    narrow_regex_matches_type,
4815
    wide_regex_matches_type,
4816
    custom_type,
4817
    last_type = custom_type
4818
};
4819
4820
template <typename>
4821
inline constexpr bool is_type_disabled = SCN_DISABLE_TYPE_CUSTOM;
4822
4823
template <typename T, typename CharT>
4824
struct arg_type_constant
4825
    : std::integral_constant<arg_type, arg_type::custom_type> {
4826
    using type = T;
4827
};
4828
4829
#define SCN_TYPE_CONSTANT(Type, C, Disabled)              \
4830
    template <typename CharT>                             \
4831
    struct arg_type_constant<Type, CharT>                 \
4832
        : std::integral_constant<arg_type, arg_type::C> { \
4833
        using type = Type;                                \
4834
    };                                                    \
4835
    template <>                                           \
4836
    inline constexpr bool is_type_disabled<Type> = Disabled
4837
4838
SCN_TYPE_CONSTANT(signed char, schar_type, SCN_DISABLE_TYPE_SCHAR);
4839
SCN_TYPE_CONSTANT(short, short_type, SCN_DISABLE_TYPE_SHORT);
4840
SCN_TYPE_CONSTANT(int, int_type, SCN_DISABLE_TYPE_INT);
4841
SCN_TYPE_CONSTANT(long, long_type, SCN_DISABLE_TYPE_LONG);
4842
SCN_TYPE_CONSTANT(long long, llong_type, SCN_DISABLE_TYPE_LONG_LONG);
4843
SCN_TYPE_CONSTANT(unsigned char, uchar_type, SCN_DISABLE_TYPE_UCHAR);
4844
SCN_TYPE_CONSTANT(unsigned short, ushort_type, SCN_DISABLE_TYPE_USHORT);
4845
SCN_TYPE_CONSTANT(unsigned int, uint_type, SCN_DISABLE_TYPE_UINT);
4846
SCN_TYPE_CONSTANT(unsigned long, ulong_type, SCN_DISABLE_TYPE_ULONG);
4847
SCN_TYPE_CONSTANT(unsigned long long, ullong_type, SCN_DISABLE_TYPE_ULONG_LONG);
4848
SCN_TYPE_CONSTANT(bool, bool_type, SCN_DISABLE_TYPE_BOOL);
4849
SCN_TYPE_CONSTANT(char, narrow_character_type, SCN_DISABLE_TYPE_CHAR);
4850
SCN_TYPE_CONSTANT(wchar_t, wide_character_type, SCN_DISABLE_TYPE_CHAR);
4851
SCN_TYPE_CONSTANT(char32_t, code_point_type, SCN_DISABLE_TYPE_CHAR32);
4852
SCN_TYPE_CONSTANT(void*, pointer_type, SCN_DISABLE_TYPE_POINTER);
4853
SCN_TYPE_CONSTANT(float, float_type, SCN_DISABLE_TYPE_FLOAT);
4854
SCN_TYPE_CONSTANT(double, double_type, SCN_DISABLE_TYPE_DOUBLE);
4855
SCN_TYPE_CONSTANT(long double, ldouble_type, SCN_DISABLE_TYPE_LONG_DOUBLE);
4856
SCN_TYPE_CONSTANT(std::string_view,
4857
                  narrow_string_view_type,
4858
                  SCN_DISABLE_TYPE_STRING_VIEW);
4859
SCN_TYPE_CONSTANT(std::wstring_view,
4860
                  wide_string_view_type,
4861
                  SCN_DISABLE_TYPE_STRING_VIEW);
4862
SCN_TYPE_CONSTANT(std::string, narrow_string_type, SCN_DISABLE_TYPE_STRING);
4863
SCN_TYPE_CONSTANT(std::wstring, wide_string_type, SCN_DISABLE_TYPE_STRING);
4864
SCN_TYPE_CONSTANT(regex_matches, narrow_regex_matches_type, SCN_DISABLE_REGEX);
4865
SCN_TYPE_CONSTANT(wregex_matches, wide_regex_matches_type, SCN_DISABLE_REGEX);
4866
4867
#undef SCN_TYPE_CONSTANT
4868
4869
struct custom_value_type {
4870
    void* value;
4871
    scan_error (*scan)(void* arg, void* pctx, void* ctx);
4872
};
4873
4874
struct unscannable {};
4875
struct unscannable_char : unscannable {};
4876
struct unscannable_const : unscannable {};
4877
struct unscannable_disabled : unscannable {
4878
    unscannable_disabled() = default;
4879
4880
    template <typename T>
4881
    constexpr unscannable_disabled(T&&)
4882
    {
4883
    }
4884
};
4885
4886
struct needs_context_tag {};
4887
4888
template <typename Context>
4889
struct context_tag {
4890
    using type = Context;
4891
};
4892
4893
template <typename T, typename Context>
4894
struct custom_wrapper {
4895
    using context_type = Context;
4896
    T& val;
4897
};
4898
4899
class arg_value {
4900
public:
4901
    // trivial default initialization in constexpr
4902
#if defined(__cpp_constexpr) && __cpp_constexpr >= 201907L && \
4903
    SCN_STD > SCN_STD_20
4904
    constexpr
4905
#endif
4906
7.71M
    arg_value() = default;
4907
4908
    template <typename T>
4909
7.91M
    explicit constexpr arg_value(T& val) : ref_value{std::addressof(val)}
4910
7.91M
    {
4911
7.91M
    }
scn::v3::detail::arg_value::arg_value<signed char>(signed char&)
Line
Count
Source
4909
209k
    explicit constexpr arg_value(T& val) : ref_value{std::addressof(val)}
4910
209k
    {
4911
209k
    }
scn::v3::detail::arg_value::arg_value<unsigned char>(unsigned char&)
Line
Count
Source
4909
190k
    explicit constexpr arg_value(T& val) : ref_value{std::addressof(val)}
4910
190k
    {
4911
190k
    }
scn::v3::detail::arg_value::arg_value<int>(int&)
Line
Count
Source
4909
267k
    explicit constexpr arg_value(T& val) : ref_value{std::addressof(val)}
4910
267k
    {
4911
267k
    }
scn::v3::detail::arg_value::arg_value<unsigned int>(unsigned int&)
Line
Count
Source
4909
235k
    explicit constexpr arg_value(T& val) : ref_value{std::addressof(val)}
4910
235k
    {
4911
235k
    }
scn::v3::detail::arg_value::arg_value<long long>(long long&)
Line
Count
Source
4909
236k
    explicit constexpr arg_value(T& val) : ref_value{std::addressof(val)}
4910
236k
    {
4911
236k
    }
scn::v3::detail::arg_value::arg_value<unsigned long long>(unsigned long long&)
Line
Count
Source
4909
203k
    explicit constexpr arg_value(T& val) : ref_value{std::addressof(val)}
4910
203k
    {
4911
203k
    }
scn::v3::detail::arg_value::arg_value<float>(float&)
Line
Count
Source
4909
1.06M
    explicit constexpr arg_value(T& val) : ref_value{std::addressof(val)}
4910
1.06M
    {
4911
1.06M
    }
scn::v3::detail::arg_value::arg_value<double>(double&)
Line
Count
Source
4909
1.16M
    explicit constexpr arg_value(T& val) : ref_value{std::addressof(val)}
4910
1.16M
    {
4911
1.16M
    }
scn::v3::detail::arg_value::arg_value<long double>(long double&)
Line
Count
Source
4909
1.15M
    explicit constexpr arg_value(T& val) : ref_value{std::addressof(val)}
4910
1.15M
    {
4911
1.15M
    }
scn::v3::detail::arg_value::arg_value<char>(char&)
Line
Count
Source
4909
11.1k
    explicit constexpr arg_value(T& val) : ref_value{std::addressof(val)}
4910
11.1k
    {
4911
11.1k
    }
scn::v3::detail::arg_value::arg_value<bool>(bool&)
Line
Count
Source
4909
33.5k
    explicit constexpr arg_value(T& val) : ref_value{std::addressof(val)}
4910
33.5k
    {
4911
33.5k
    }
scn::v3::detail::arg_value::arg_value<void*>(void*&)
Line
Count
Source
4909
33.5k
    explicit constexpr arg_value(T& val) : ref_value{std::addressof(val)}
4910
33.5k
    {
4911
33.5k
    }
scn::v3::detail::arg_value::arg_value<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
4909
308k
    explicit constexpr arg_value(T& val) : ref_value{std::addressof(val)}
4910
308k
    {
4911
308k
    }
scn::v3::detail::arg_value::arg_value<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
4909
1.75M
    explicit constexpr arg_value(T& val) : ref_value{std::addressof(val)}
4910
1.75M
    {
4911
1.75M
    }
scn::v3::detail::arg_value::arg_value<std::__1::basic_string_view<char, std::__1::char_traits<char> > >(std::__1::basic_string_view<char, std::__1::char_traits<char> >&)
Line
Count
Source
4909
134k
    explicit constexpr arg_value(T& val) : ref_value{std::addressof(val)}
4910
134k
    {
4911
134k
    }
scn::v3::detail::arg_value::arg_value<wchar_t>(wchar_t&)
Line
Count
Source
4909
22.3k
    explicit constexpr arg_value(T& val) : ref_value{std::addressof(val)}
4910
22.3k
    {
4911
22.3k
    }
scn::v3::detail::arg_value::arg_value<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&)
Line
Count
Source
4909
882k
    explicit constexpr arg_value(T& val) : ref_value{std::addressof(val)}
4910
882k
    {
4911
882k
    }
4912
4913
    template <typename T, typename Context>
4914
    explicit constexpr arg_value(custom_wrapper<T, Context> val)
4915
        : custom_value{static_cast<void*>(&val.val),
4916
                       scan_custom_arg<T, Context>}
4917
    {
4918
    }
4919
4920
    arg_value(unscannable);
4921
    arg_value(unscannable_char);
4922
    arg_value(unscannable_const);
4923
    arg_value(unscannable_disabled);
4924
4925
    union {
4926
        void* ref_value{nullptr};
4927
        custom_value_type custom_value;
4928
    };
4929
4930
private:
4931
    template <typename T, typename Context>
4932
    static scan_error scan_custom_arg(void* arg, void* pctx, void* ctx)
4933
    {
4934
        static_assert(!is_type_disabled<T>,
4935
                      "Scanning of custom types is disabled by "
4936
                      "SCN_DISABLE_TYPE_CUSTOM");
4937
        SCN_EXPECT(arg && pctx && ctx);
4938
4939
        using context_type = Context;
4940
        using parse_context_type = typename context_type::parse_context_type;
4941
        using scanner_type = typename context_type::template scanner_type<T>;
4942
4943
        auto s = scanner_type{};
4944
4945
        auto& arg_ref = *static_cast<T*>(arg);
4946
        auto& pctx_ref = *static_cast<parse_context_type*>(pctx);
4947
        auto& ctx_ref = *static_cast<context_type*>(ctx);
4948
4949
        SCN_TRY_ERR(fmt_it, s.parse(pctx_ref));
4950
        pctx_ref.advance_to(fmt_it);
4951
4952
        SCN_TRY_ERR(it, s.scan(arg_ref, ctx_ref));
4953
        ctx_ref.advance_to(SCN_MOVE(it));
4954
4955
        return {};
4956
    }
4957
};
4958
4959
template <typename CharT>
4960
struct arg_mapper {
4961
    using char_type = CharT;
4962
    using other_char_type =
4963
        std::conditional_t<std::is_same_v<char_type, char>, wchar_t, char>;
4964
4965
#define SCN_ARG_MAPPER(T)                                                    \
4966
    static auto map(T& val)                                                  \
4967
        -> std::conditional_t<is_type_disabled<T>, unscannable_disabled, T&> \
4968
7.90M
    {                                                                        \
4969
7.90M
        return val;                                                          \
4970
7.90M
    }
scn::v3::detail::arg_mapper<char>::map(signed char&)
Line
Count
Source
4968
148k
    {                                                                        \
4969
148k
        return val;                                                          \
4970
148k
    }
scn::v3::detail::arg_mapper<char>::map(unsigned char&)
Line
Count
Source
4968
130k
    {                                                                        \
4969
130k
        return val;                                                          \
4970
130k
    }
scn::v3::detail::arg_mapper<char>::map(int&)
Line
Count
Source
4968
184k
    {                                                                        \
4969
184k
        return val;                                                          \
4970
184k
    }
scn::v3::detail::arg_mapper<char>::map(unsigned int&)
Line
Count
Source
4968
152k
    {                                                                        \
4969
152k
        return val;                                                          \
4970
152k
    }
scn::v3::detail::arg_mapper<char>::map(long long&)
Line
Count
Source
4968
176k
    {                                                                        \
4969
176k
        return val;                                                          \
4970
176k
    }
scn::v3::detail::arg_mapper<char>::map(unsigned long long&)
Line
Count
Source
4968
143k
    {                                                                        \
4969
143k
        return val;                                                          \
4970
143k
    }
scn::v3::detail::arg_mapper<wchar_t>::map(signed char&)
Line
Count
Source
4968
60.2k
    {                                                                        \
4969
60.2k
        return val;                                                          \
4970
60.2k
    }
scn::v3::detail::arg_mapper<wchar_t>::map(unsigned char&)
Line
Count
Source
4968
60.1k
    {                                                                        \
4969
60.1k
        return val;                                                          \
4970
60.1k
    }
scn::v3::detail::arg_mapper<wchar_t>::map(int&)
Line
Count
Source
4968
82.8k
    {                                                                        \
4969
82.8k
        return val;                                                          \
4970
82.8k
    }
scn::v3::detail::arg_mapper<wchar_t>::map(unsigned int&)
Line
Count
Source
4968
82.6k
    {                                                                        \
4969
82.6k
        return val;                                                          \
4970
82.6k
    }
scn::v3::detail::arg_mapper<wchar_t>::map(long long&)
Line
Count
Source
4968
60.7k
    {                                                                        \
4969
60.7k
        return val;                                                          \
4970
60.7k
    }
scn::v3::detail::arg_mapper<wchar_t>::map(unsigned long long&)
Line
Count
Source
4968
60.4k
    {                                                                        \
4969
60.4k
        return val;                                                          \
4970
60.4k
    }
scn::v3::detail::arg_mapper<char>::map(float&)
Line
Count
Source
4968
723k
    {                                                                        \
4969
723k
        return val;                                                          \
4970
723k
    }
scn::v3::detail::arg_mapper<char>::map(double&)
Line
Count
Source
4968
760k
    {                                                                        \
4969
760k
        return val;                                                          \
4970
760k
    }
scn::v3::detail::arg_mapper<char>::map(long double&)
Line
Count
Source
4968
763k
    {                                                                        \
4969
763k
        return val;                                                          \
4970
763k
    }
scn::v3::detail::arg_mapper<wchar_t>::map(float&)
Line
Count
Source
4968
345k
    {                                                                        \
4969
345k
        return val;                                                          \
4970
345k
    }
scn::v3::detail::arg_mapper<wchar_t>::map(double&)
Line
Count
Source
4968
408k
    {                                                                        \
4969
408k
        return val;                                                          \
4970
408k
    }
scn::v3::detail::arg_mapper<wchar_t>::map(long double&)
Line
Count
Source
4968
391k
    {                                                                        \
4969
391k
        return val;                                                          \
4970
391k
    }
scn::v3::detail::arg_mapper<char>::map(bool&)
Line
Count
Source
4968
11.1k
    {                                                                        \
4969
11.1k
        return val;                                                          \
4970
11.1k
    }
scn::v3::detail::arg_mapper<char>::map(void*&)
Line
Count
Source
4968
11.1k
    {                                                                        \
4969
11.1k
        return val;                                                          \
4970
11.1k
    }
scn::v3::detail::arg_mapper<char>::map(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
4968
286k
    {                                                                        \
4969
286k
        return val;                                                          \
4970
286k
    }
scn::v3::detail::arg_mapper<char>::map(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
4968
11.1k
    {                                                                        \
4969
11.1k
        return val;                                                          \
4970
11.1k
    }
scn::v3::detail::arg_mapper<char>::map(std::__1::basic_string_view<char, std::__1::char_traits<char> >&)
Line
Count
Source
4968
134k
    {                                                                        \
4969
134k
        return val;                                                          \
4970
134k
    }
scn::v3::detail::arg_mapper<wchar_t>::map(wchar_t&)
Line
Count
Source
4968
22.3k
    {                                                                        \
4969
22.3k
        return val;                                                          \
4970
22.3k
    }
scn::v3::detail::arg_mapper<wchar_t>::map(bool&)
Line
Count
Source
4968
22.3k
    {                                                                        \
4969
22.3k
        return val;                                                          \
4970
22.3k
    }
scn::v3::detail::arg_mapper<wchar_t>::map(void*&)
Line
Count
Source
4968
22.3k
    {                                                                        \
4969
22.3k
        return val;                                                          \
4970
22.3k
    }
scn::v3::detail::arg_mapper<wchar_t>::map(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
4968
22.3k
    {                                                                        \
4969
22.3k
        return val;                                                          \
4970
22.3k
    }
scn::v3::detail::arg_mapper<wchar_t>::map(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
4968
1.74M
    {                                                                        \
4969
1.74M
        return val;                                                          \
4970
1.74M
    }
scn::v3::detail::arg_mapper<wchar_t>::map(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&)
Line
Count
Source
4968
882k
    {                                                                        \
4969
882k
        return val;                                                          \
4970
882k
    }
4971
4972
    SCN_ARG_MAPPER(signed char)
4973
    SCN_ARG_MAPPER(short)
4974
    SCN_ARG_MAPPER(int)
4975
    SCN_ARG_MAPPER(long)
4976
    SCN_ARG_MAPPER(long long)
4977
    SCN_ARG_MAPPER(unsigned char)
4978
    SCN_ARG_MAPPER(unsigned short)
4979
    SCN_ARG_MAPPER(unsigned)
4980
    SCN_ARG_MAPPER(unsigned long)
4981
    SCN_ARG_MAPPER(unsigned long long)
4982
    SCN_ARG_MAPPER(wchar_t)
4983
    SCN_ARG_MAPPER(char32_t)
4984
    SCN_ARG_MAPPER(bool)
4985
    SCN_ARG_MAPPER(void*)
4986
    SCN_ARG_MAPPER(float)
4987
    SCN_ARG_MAPPER(double)
4988
    SCN_ARG_MAPPER(long double)
4989
4990
    SCN_ARG_MAPPER(std::basic_string_view<char_type>)
4991
    SCN_ARG_MAPPER(std::string)
4992
    SCN_ARG_MAPPER(std::wstring)
4993
4994
#undef SCN_ARG_MAPPER
4995
4996
    static decltype(auto) map(char& val)
4997
11.1k
    {
4998
        if constexpr (std::is_same_v<char_type, char> &&
4999
11.1k
                      !is_type_disabled<char_type>) {
5000
11.1k
            return val;
5001
        }
5002
        else if constexpr (is_type_disabled<char_type>) {
5003
            return unscannable_disabled{val};
5004
        }
5005
        else {
5006
            SCN_UNUSED(val);
5007
            return unscannable_char{};
5008
        }
5009
11.1k
    }
5010
5011
    static decltype(auto) map(basic_regex_matches<char_type>& val)
5012
    {
5013
        if constexpr (is_type_disabled<char_type>) {
5014
            return unscannable_disabled{val};
5015
        }
5016
        else {
5017
            return val;
5018
        }
5019
    }
5020
5021
    static unscannable_char map(std::basic_string_view<other_char_type>&)
5022
    {
5023
        return {};
5024
    }
5025
    static unscannable_char map(basic_regex_matches<other_char_type>&)
5026
    {
5027
        return {};
5028
    }
5029
5030
    template <typename T>
5031
    static std::enable_if_t<std::is_constructible_v<scanner<T, char_type>>,
5032
                            needs_context_tag>
5033
    map(T&)
5034
    {
5035
        return {};
5036
    }
5037
5038
    template <typename T, typename Context>
5039
    static std::enable_if_t<std::is_constructible_v<scanner<T, char_type>>,
5040
                            custom_wrapper<T, Context>>
5041
    map(T& val, context_tag<Context>)
5042
    {
5043
        return {val};
5044
    }
5045
5046
    static unscannable map(...)
5047
    {
5048
        return {};
5049
    }
5050
};
5051
5052
template <typename T, typename CharT>
5053
using mapped_type_constant = arg_type_constant<
5054
    std::remove_reference_t<decltype(arg_mapper<CharT>().map(SCN_DECLVAL(T&)))>,
5055
    CharT>;
5056
5057
template <typename T, typename CharT>
5058
using is_scannable = std::integral_constant<
5059
    bool,
5060
    !std::is_base_of_v<
5061
        unscannable,
5062
        remove_cvref_t<decltype(arg_mapper<CharT>().map(SCN_DECLVAL(T&)))>>>;
5063
5064
constexpr std::size_t packed_arg_bits = 5;
5065
static_assert((1 << packed_arg_bits) >= static_cast<int>(arg_type::last_type));
5066
constexpr std::size_t bits_in_sz = sizeof(std::size_t) * 8;
5067
constexpr std::size_t max_packed_args = (bits_in_sz - 2) / packed_arg_bits - 1;
5068
constexpr std::size_t is_unpacked_bit = std::size_t{1} << (bits_in_sz - 1);
5069
constexpr std::size_t has_custom_types_bit = std::size_t{1} << (bits_in_sz - 2);
5070
5071
template <typename>
5072
constexpr size_t encode_types_impl()
5073
0
{
5074
0
    return 0;
5075
0
}
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types_impl<char>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types_impl<wchar_t>()
5076
template <typename CharT, typename T, typename... Others>
5077
constexpr size_t encode_types_impl()
5078
0
{
5079
0
    return static_cast<unsigned>(mapped_type_constant<T, CharT>::value) |
5080
0
           (encode_types_impl<CharT, Others...>() << packed_arg_bits);
5081
0
}
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types_impl<char, signed char>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types_impl<char, unsigned char>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types_impl<char, int>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types_impl<char, unsigned int>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types_impl<char, long long>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types_impl<char, unsigned long long>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types_impl<wchar_t, signed char>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types_impl<wchar_t, unsigned char>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types_impl<wchar_t, int>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types_impl<wchar_t, unsigned int>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types_impl<wchar_t, long long>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types_impl<wchar_t, unsigned long long>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types_impl<char, float>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types_impl<char, double>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types_impl<char, long double>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types_impl<wchar_t, float>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types_impl<wchar_t, double>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types_impl<wchar_t, long double>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types_impl<char, char>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types_impl<char, bool>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types_impl<char, void*>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types_impl<char, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types_impl<char, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types_impl<char, std::__1::basic_string_view<char, std::__1::char_traits<char> >>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types_impl<wchar_t, wchar_t>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types_impl<wchar_t, bool>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types_impl<wchar_t, void*>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types_impl<wchar_t, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types_impl<wchar_t, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types_impl<wchar_t, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >>()
5082
5083
template <typename CharT, typename... Ts>
5084
constexpr size_t encode_types()
5085
0
{
5086
0
    if constexpr (sizeof...(Ts) < (1 << packed_arg_bits)) {
5087
0
        return sizeof...(Ts) |
5088
0
               (encode_types_impl<CharT, Ts...>() << packed_arg_bits);
5089
0
    }
5090
0
    else {
5091
0
        SCN_EXPECT(false);
5092
0
        SCN_UNREACHABLE;
5093
0
    }
5094
0
}
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types<char, signed char>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types<char, unsigned char>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types<char, int>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types<char, unsigned int>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types<char, long long>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types<char, unsigned long long>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types<wchar_t, signed char>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types<wchar_t, unsigned char>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types<wchar_t, int>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types<wchar_t, unsigned int>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types<wchar_t, long long>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types<wchar_t, unsigned long long>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types<char, float>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types<char, double>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types<char, long double>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types<wchar_t, float>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types<wchar_t, double>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types<wchar_t, long double>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types<char, char>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types<char, bool>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types<char, void*>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types<char, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types<char, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types<char, std::__1::basic_string_view<char, std::__1::char_traits<char> > >()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types<wchar_t, wchar_t>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types<wchar_t, bool>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types<wchar_t, void*>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types<wchar_t, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types<wchar_t, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types<wchar_t, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >()
5095
5096
template <typename Arg>
5097
constexpr auto make_value_impl(Arg&& arg)
5098
7.91M
{
5099
7.91M
    using arg_nocvref_t = remove_cvref_t<Arg>;
5100
7.91M
    static_assert(!std::is_same_v<arg_nocvref_t, needs_context_tag>);
5101
5102
7.91M
    constexpr bool scannable_char =
5103
7.91M
        !std::is_same_v<arg_nocvref_t, unscannable_char>;
5104
7.91M
    static_assert(scannable_char,
5105
7.91M
                  "Cannot scan an argument of an unsupported character "
5106
7.91M
                  "type (i.e. char from a wchar_t source)");
5107
5108
7.91M
    constexpr bool scannable_const =
5109
7.91M
        !std::is_same_v<arg_nocvref_t, unscannable_const>;
5110
7.91M
    static_assert(scannable_const, "Cannot scan a const argument");
5111
5112
7.91M
    constexpr bool scannable_disabled =
5113
7.91M
        !std::is_same_v<arg_nocvref_t, unscannable_disabled>;
5114
7.91M
    static_assert(scannable_disabled,
5115
7.91M
                  "Cannot scan an argument that has been disabled by "
5116
7.91M
                  "flag (SCN_DISABLE_TYPE_*)");
5117
5118
7.91M
    constexpr bool scannable = !std::is_same_v<arg_nocvref_t, unscannable>;
5119
7.91M
    static_assert(
5120
7.91M
        scannable,
5121
7.91M
        "Cannot scan an argument. To make a type T scannable, provide "
5122
7.91M
        "a scn::scanner<T, CharT> specialization.");
5123
5124
7.91M
    return arg_value{arg};
5125
7.91M
}
auto scn::v3::detail::make_value_impl<signed char&>(signed char&)
Line
Count
Source
5098
209k
{
5099
209k
    using arg_nocvref_t = remove_cvref_t<Arg>;
5100
209k
    static_assert(!std::is_same_v<arg_nocvref_t, needs_context_tag>);
5101
5102
209k
    constexpr bool scannable_char =
5103
209k
        !std::is_same_v<arg_nocvref_t, unscannable_char>;
5104
209k
    static_assert(scannable_char,
5105
209k
                  "Cannot scan an argument of an unsupported character "
5106
209k
                  "type (i.e. char from a wchar_t source)");
5107
5108
209k
    constexpr bool scannable_const =
5109
209k
        !std::is_same_v<arg_nocvref_t, unscannable_const>;
5110
209k
    static_assert(scannable_const, "Cannot scan a const argument");
5111
5112
209k
    constexpr bool scannable_disabled =
5113
209k
        !std::is_same_v<arg_nocvref_t, unscannable_disabled>;
5114
209k
    static_assert(scannable_disabled,
5115
209k
                  "Cannot scan an argument that has been disabled by "
5116
209k
                  "flag (SCN_DISABLE_TYPE_*)");
5117
5118
209k
    constexpr bool scannable = !std::is_same_v<arg_nocvref_t, unscannable>;
5119
209k
    static_assert(
5120
209k
        scannable,
5121
209k
        "Cannot scan an argument. To make a type T scannable, provide "
5122
209k
        "a scn::scanner<T, CharT> specialization.");
5123
5124
209k
    return arg_value{arg};
5125
209k
}
auto scn::v3::detail::make_value_impl<unsigned char&>(unsigned char&)
Line
Count
Source
5098
190k
{
5099
190k
    using arg_nocvref_t = remove_cvref_t<Arg>;
5100
190k
    static_assert(!std::is_same_v<arg_nocvref_t, needs_context_tag>);
5101
5102
190k
    constexpr bool scannable_char =
5103
190k
        !std::is_same_v<arg_nocvref_t, unscannable_char>;
5104
190k
    static_assert(scannable_char,
5105
190k
                  "Cannot scan an argument of an unsupported character "
5106
190k
                  "type (i.e. char from a wchar_t source)");
5107
5108
190k
    constexpr bool scannable_const =
5109
190k
        !std::is_same_v<arg_nocvref_t, unscannable_const>;
5110
190k
    static_assert(scannable_const, "Cannot scan a const argument");
5111
5112
190k
    constexpr bool scannable_disabled =
5113
190k
        !std::is_same_v<arg_nocvref_t, unscannable_disabled>;
5114
190k
    static_assert(scannable_disabled,
5115
190k
                  "Cannot scan an argument that has been disabled by "
5116
190k
                  "flag (SCN_DISABLE_TYPE_*)");
5117
5118
190k
    constexpr bool scannable = !std::is_same_v<arg_nocvref_t, unscannable>;
5119
190k
    static_assert(
5120
190k
        scannable,
5121
190k
        "Cannot scan an argument. To make a type T scannable, provide "
5122
190k
        "a scn::scanner<T, CharT> specialization.");
5123
5124
190k
    return arg_value{arg};
5125
190k
}
auto scn::v3::detail::make_value_impl<int&>(int&)
Line
Count
Source
5098
267k
{
5099
267k
    using arg_nocvref_t = remove_cvref_t<Arg>;
5100
267k
    static_assert(!std::is_same_v<arg_nocvref_t, needs_context_tag>);
5101
5102
267k
    constexpr bool scannable_char =
5103
267k
        !std::is_same_v<arg_nocvref_t, unscannable_char>;
5104
267k
    static_assert(scannable_char,
5105
267k
                  "Cannot scan an argument of an unsupported character "
5106
267k
                  "type (i.e. char from a wchar_t source)");
5107
5108
267k
    constexpr bool scannable_const =
5109
267k
        !std::is_same_v<arg_nocvref_t, unscannable_const>;
5110
267k
    static_assert(scannable_const, "Cannot scan a const argument");
5111
5112
267k
    constexpr bool scannable_disabled =
5113
267k
        !std::is_same_v<arg_nocvref_t, unscannable_disabled>;
5114
267k
    static_assert(scannable_disabled,
5115
267k
                  "Cannot scan an argument that has been disabled by "
5116
267k
                  "flag (SCN_DISABLE_TYPE_*)");
5117
5118
267k
    constexpr bool scannable = !std::is_same_v<arg_nocvref_t, unscannable>;
5119
267k
    static_assert(
5120
267k
        scannable,
5121
267k
        "Cannot scan an argument. To make a type T scannable, provide "
5122
267k
        "a scn::scanner<T, CharT> specialization.");
5123
5124
267k
    return arg_value{arg};
5125
267k
}
auto scn::v3::detail::make_value_impl<unsigned int&>(unsigned int&)
Line
Count
Source
5098
235k
{
5099
235k
    using arg_nocvref_t = remove_cvref_t<Arg>;
5100
235k
    static_assert(!std::is_same_v<arg_nocvref_t, needs_context_tag>);
5101
5102
235k
    constexpr bool scannable_char =
5103
235k
        !std::is_same_v<arg_nocvref_t, unscannable_char>;
5104
235k
    static_assert(scannable_char,
5105
235k
                  "Cannot scan an argument of an unsupported character "
5106
235k
                  "type (i.e. char from a wchar_t source)");
5107
5108
235k
    constexpr bool scannable_const =
5109
235k
        !std::is_same_v<arg_nocvref_t, unscannable_const>;
5110
235k
    static_assert(scannable_const, "Cannot scan a const argument");
5111
5112
235k
    constexpr bool scannable_disabled =
5113
235k
        !std::is_same_v<arg_nocvref_t, unscannable_disabled>;
5114
235k
    static_assert(scannable_disabled,
5115
235k
                  "Cannot scan an argument that has been disabled by "
5116
235k
                  "flag (SCN_DISABLE_TYPE_*)");
5117
5118
235k
    constexpr bool scannable = !std::is_same_v<arg_nocvref_t, unscannable>;
5119
235k
    static_assert(
5120
235k
        scannable,
5121
235k
        "Cannot scan an argument. To make a type T scannable, provide "
5122
235k
        "a scn::scanner<T, CharT> specialization.");
5123
5124
235k
    return arg_value{arg};
5125
235k
}
auto scn::v3::detail::make_value_impl<long long&>(long long&)
Line
Count
Source
5098
236k
{
5099
236k
    using arg_nocvref_t = remove_cvref_t<Arg>;
5100
236k
    static_assert(!std::is_same_v<arg_nocvref_t, needs_context_tag>);
5101
5102
236k
    constexpr bool scannable_char =
5103
236k
        !std::is_same_v<arg_nocvref_t, unscannable_char>;
5104
236k
    static_assert(scannable_char,
5105
236k
                  "Cannot scan an argument of an unsupported character "
5106
236k
                  "type (i.e. char from a wchar_t source)");
5107
5108
236k
    constexpr bool scannable_const =
5109
236k
        !std::is_same_v<arg_nocvref_t, unscannable_const>;
5110
236k
    static_assert(scannable_const, "Cannot scan a const argument");
5111
5112
236k
    constexpr bool scannable_disabled =
5113
236k
        !std::is_same_v<arg_nocvref_t, unscannable_disabled>;
5114
236k
    static_assert(scannable_disabled,
5115
236k
                  "Cannot scan an argument that has been disabled by "
5116
236k
                  "flag (SCN_DISABLE_TYPE_*)");
5117
5118
236k
    constexpr bool scannable = !std::is_same_v<arg_nocvref_t, unscannable>;
5119
236k
    static_assert(
5120
236k
        scannable,
5121
236k
        "Cannot scan an argument. To make a type T scannable, provide "
5122
236k
        "a scn::scanner<T, CharT> specialization.");
5123
5124
236k
    return arg_value{arg};
5125
236k
}
auto scn::v3::detail::make_value_impl<unsigned long long&>(unsigned long long&)
Line
Count
Source
5098
203k
{
5099
203k
    using arg_nocvref_t = remove_cvref_t<Arg>;
5100
203k
    static_assert(!std::is_same_v<arg_nocvref_t, needs_context_tag>);
5101
5102
203k
    constexpr bool scannable_char =
5103
203k
        !std::is_same_v<arg_nocvref_t, unscannable_char>;
5104
203k
    static_assert(scannable_char,
5105
203k
                  "Cannot scan an argument of an unsupported character "
5106
203k
                  "type (i.e. char from a wchar_t source)");
5107
5108
203k
    constexpr bool scannable_const =
5109
203k
        !std::is_same_v<arg_nocvref_t, unscannable_const>;
5110
203k
    static_assert(scannable_const, "Cannot scan a const argument");
5111
5112
203k
    constexpr bool scannable_disabled =
5113
203k
        !std::is_same_v<arg_nocvref_t, unscannable_disabled>;
5114
203k
    static_assert(scannable_disabled,
5115
203k
                  "Cannot scan an argument that has been disabled by "
5116
203k
                  "flag (SCN_DISABLE_TYPE_*)");
5117
5118
203k
    constexpr bool scannable = !std::is_same_v<arg_nocvref_t, unscannable>;
5119
203k
    static_assert(
5120
203k
        scannable,
5121
203k
        "Cannot scan an argument. To make a type T scannable, provide "
5122
203k
        "a scn::scanner<T, CharT> specialization.");
5123
5124
203k
    return arg_value{arg};
5125
203k
}
auto scn::v3::detail::make_value_impl<float&>(float&)
Line
Count
Source
5098
1.06M
{
5099
1.06M
    using arg_nocvref_t = remove_cvref_t<Arg>;
5100
1.06M
    static_assert(!std::is_same_v<arg_nocvref_t, needs_context_tag>);
5101
5102
1.06M
    constexpr bool scannable_char =
5103
1.06M
        !std::is_same_v<arg_nocvref_t, unscannable_char>;
5104
1.06M
    static_assert(scannable_char,
5105
1.06M
                  "Cannot scan an argument of an unsupported character "
5106
1.06M
                  "type (i.e. char from a wchar_t source)");
5107
5108
1.06M
    constexpr bool scannable_const =
5109
1.06M
        !std::is_same_v<arg_nocvref_t, unscannable_const>;
5110
1.06M
    static_assert(scannable_const, "Cannot scan a const argument");
5111
5112
1.06M
    constexpr bool scannable_disabled =
5113
1.06M
        !std::is_same_v<arg_nocvref_t, unscannable_disabled>;
5114
1.06M
    static_assert(scannable_disabled,
5115
1.06M
                  "Cannot scan an argument that has been disabled by "
5116
1.06M
                  "flag (SCN_DISABLE_TYPE_*)");
5117
5118
1.06M
    constexpr bool scannable = !std::is_same_v<arg_nocvref_t, unscannable>;
5119
1.06M
    static_assert(
5120
1.06M
        scannable,
5121
1.06M
        "Cannot scan an argument. To make a type T scannable, provide "
5122
1.06M
        "a scn::scanner<T, CharT> specialization.");
5123
5124
1.06M
    return arg_value{arg};
5125
1.06M
}
auto scn::v3::detail::make_value_impl<double&>(double&)
Line
Count
Source
5098
1.16M
{
5099
1.16M
    using arg_nocvref_t = remove_cvref_t<Arg>;
5100
1.16M
    static_assert(!std::is_same_v<arg_nocvref_t, needs_context_tag>);
5101
5102
1.16M
    constexpr bool scannable_char =
5103
1.16M
        !std::is_same_v<arg_nocvref_t, unscannable_char>;
5104
1.16M
    static_assert(scannable_char,
5105
1.16M
                  "Cannot scan an argument of an unsupported character "
5106
1.16M
                  "type (i.e. char from a wchar_t source)");
5107
5108
1.16M
    constexpr bool scannable_const =
5109
1.16M
        !std::is_same_v<arg_nocvref_t, unscannable_const>;
5110
1.16M
    static_assert(scannable_const, "Cannot scan a const argument");
5111
5112
1.16M
    constexpr bool scannable_disabled =
5113
1.16M
        !std::is_same_v<arg_nocvref_t, unscannable_disabled>;
5114
1.16M
    static_assert(scannable_disabled,
5115
1.16M
                  "Cannot scan an argument that has been disabled by "
5116
1.16M
                  "flag (SCN_DISABLE_TYPE_*)");
5117
5118
1.16M
    constexpr bool scannable = !std::is_same_v<arg_nocvref_t, unscannable>;
5119
1.16M
    static_assert(
5120
1.16M
        scannable,
5121
1.16M
        "Cannot scan an argument. To make a type T scannable, provide "
5122
1.16M
        "a scn::scanner<T, CharT> specialization.");
5123
5124
1.16M
    return arg_value{arg};
5125
1.16M
}
auto scn::v3::detail::make_value_impl<long double&>(long double&)
Line
Count
Source
5098
1.15M
{
5099
1.15M
    using arg_nocvref_t = remove_cvref_t<Arg>;
5100
1.15M
    static_assert(!std::is_same_v<arg_nocvref_t, needs_context_tag>);
5101
5102
1.15M
    constexpr bool scannable_char =
5103
1.15M
        !std::is_same_v<arg_nocvref_t, unscannable_char>;
5104
1.15M
    static_assert(scannable_char,
5105
1.15M
                  "Cannot scan an argument of an unsupported character "
5106
1.15M
                  "type (i.e. char from a wchar_t source)");
5107
5108
1.15M
    constexpr bool scannable_const =
5109
1.15M
        !std::is_same_v<arg_nocvref_t, unscannable_const>;
5110
1.15M
    static_assert(scannable_const, "Cannot scan a const argument");
5111
5112
1.15M
    constexpr bool scannable_disabled =
5113
1.15M
        !std::is_same_v<arg_nocvref_t, unscannable_disabled>;
5114
1.15M
    static_assert(scannable_disabled,
5115
1.15M
                  "Cannot scan an argument that has been disabled by "
5116
1.15M
                  "flag (SCN_DISABLE_TYPE_*)");
5117
5118
1.15M
    constexpr bool scannable = !std::is_same_v<arg_nocvref_t, unscannable>;
5119
1.15M
    static_assert(
5120
1.15M
        scannable,
5121
1.15M
        "Cannot scan an argument. To make a type T scannable, provide "
5122
1.15M
        "a scn::scanner<T, CharT> specialization.");
5123
5124
1.15M
    return arg_value{arg};
5125
1.15M
}
auto scn::v3::detail::make_value_impl<char&>(char&)
Line
Count
Source
5098
11.1k
{
5099
11.1k
    using arg_nocvref_t = remove_cvref_t<Arg>;
5100
11.1k
    static_assert(!std::is_same_v<arg_nocvref_t, needs_context_tag>);
5101
5102
11.1k
    constexpr bool scannable_char =
5103
11.1k
        !std::is_same_v<arg_nocvref_t, unscannable_char>;
5104
11.1k
    static_assert(scannable_char,
5105
11.1k
                  "Cannot scan an argument of an unsupported character "
5106
11.1k
                  "type (i.e. char from a wchar_t source)");
5107
5108
11.1k
    constexpr bool scannable_const =
5109
11.1k
        !std::is_same_v<arg_nocvref_t, unscannable_const>;
5110
11.1k
    static_assert(scannable_const, "Cannot scan a const argument");
5111
5112
11.1k
    constexpr bool scannable_disabled =
5113
11.1k
        !std::is_same_v<arg_nocvref_t, unscannable_disabled>;
5114
11.1k
    static_assert(scannable_disabled,
5115
11.1k
                  "Cannot scan an argument that has been disabled by "
5116
11.1k
                  "flag (SCN_DISABLE_TYPE_*)");
5117
5118
11.1k
    constexpr bool scannable = !std::is_same_v<arg_nocvref_t, unscannable>;
5119
11.1k
    static_assert(
5120
11.1k
        scannable,
5121
11.1k
        "Cannot scan an argument. To make a type T scannable, provide "
5122
11.1k
        "a scn::scanner<T, CharT> specialization.");
5123
5124
11.1k
    return arg_value{arg};
5125
11.1k
}
auto scn::v3::detail::make_value_impl<bool&>(bool&)
Line
Count
Source
5098
33.5k
{
5099
33.5k
    using arg_nocvref_t = remove_cvref_t<Arg>;
5100
33.5k
    static_assert(!std::is_same_v<arg_nocvref_t, needs_context_tag>);
5101
5102
33.5k
    constexpr bool scannable_char =
5103
33.5k
        !std::is_same_v<arg_nocvref_t, unscannable_char>;
5104
33.5k
    static_assert(scannable_char,
5105
33.5k
                  "Cannot scan an argument of an unsupported character "
5106
33.5k
                  "type (i.e. char from a wchar_t source)");
5107
5108
33.5k
    constexpr bool scannable_const =
5109
33.5k
        !std::is_same_v<arg_nocvref_t, unscannable_const>;
5110
33.5k
    static_assert(scannable_const, "Cannot scan a const argument");
5111
5112
33.5k
    constexpr bool scannable_disabled =
5113
33.5k
        !std::is_same_v<arg_nocvref_t, unscannable_disabled>;
5114
33.5k
    static_assert(scannable_disabled,
5115
33.5k
                  "Cannot scan an argument that has been disabled by "
5116
33.5k
                  "flag (SCN_DISABLE_TYPE_*)");
5117
5118
33.5k
    constexpr bool scannable = !std::is_same_v<arg_nocvref_t, unscannable>;
5119
33.5k
    static_assert(
5120
33.5k
        scannable,
5121
33.5k
        "Cannot scan an argument. To make a type T scannable, provide "
5122
33.5k
        "a scn::scanner<T, CharT> specialization.");
5123
5124
33.5k
    return arg_value{arg};
5125
33.5k
}
auto scn::v3::detail::make_value_impl<void*&>(void*&)
Line
Count
Source
5098
33.5k
{
5099
33.5k
    using arg_nocvref_t = remove_cvref_t<Arg>;
5100
33.5k
    static_assert(!std::is_same_v<arg_nocvref_t, needs_context_tag>);
5101
5102
33.5k
    constexpr bool scannable_char =
5103
33.5k
        !std::is_same_v<arg_nocvref_t, unscannable_char>;
5104
33.5k
    static_assert(scannable_char,
5105
33.5k
                  "Cannot scan an argument of an unsupported character "
5106
33.5k
                  "type (i.e. char from a wchar_t source)");
5107
5108
33.5k
    constexpr bool scannable_const =
5109
33.5k
        !std::is_same_v<arg_nocvref_t, unscannable_const>;
5110
33.5k
    static_assert(scannable_const, "Cannot scan a const argument");
5111
5112
33.5k
    constexpr bool scannable_disabled =
5113
33.5k
        !std::is_same_v<arg_nocvref_t, unscannable_disabled>;
5114
33.5k
    static_assert(scannable_disabled,
5115
33.5k
                  "Cannot scan an argument that has been disabled by "
5116
33.5k
                  "flag (SCN_DISABLE_TYPE_*)");
5117
5118
33.5k
    constexpr bool scannable = !std::is_same_v<arg_nocvref_t, unscannable>;
5119
33.5k
    static_assert(
5120
33.5k
        scannable,
5121
33.5k
        "Cannot scan an argument. To make a type T scannable, provide "
5122
33.5k
        "a scn::scanner<T, CharT> specialization.");
5123
5124
33.5k
    return arg_value{arg};
5125
33.5k
}
auto scn::v3::detail::make_value_impl<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
5098
308k
{
5099
308k
    using arg_nocvref_t = remove_cvref_t<Arg>;
5100
308k
    static_assert(!std::is_same_v<arg_nocvref_t, needs_context_tag>);
5101
5102
308k
    constexpr bool scannable_char =
5103
308k
        !std::is_same_v<arg_nocvref_t, unscannable_char>;
5104
308k
    static_assert(scannable_char,
5105
308k
                  "Cannot scan an argument of an unsupported character "
5106
308k
                  "type (i.e. char from a wchar_t source)");
5107
5108
308k
    constexpr bool scannable_const =
5109
308k
        !std::is_same_v<arg_nocvref_t, unscannable_const>;
5110
308k
    static_assert(scannable_const, "Cannot scan a const argument");
5111
5112
308k
    constexpr bool scannable_disabled =
5113
308k
        !std::is_same_v<arg_nocvref_t, unscannable_disabled>;
5114
308k
    static_assert(scannable_disabled,
5115
308k
                  "Cannot scan an argument that has been disabled by "
5116
308k
                  "flag (SCN_DISABLE_TYPE_*)");
5117
5118
308k
    constexpr bool scannable = !std::is_same_v<arg_nocvref_t, unscannable>;
5119
308k
    static_assert(
5120
308k
        scannable,
5121
308k
        "Cannot scan an argument. To make a type T scannable, provide "
5122
308k
        "a scn::scanner<T, CharT> specialization.");
5123
5124
308k
    return arg_value{arg};
5125
308k
}
auto scn::v3::detail::make_value_impl<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&>(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
5098
1.75M
{
5099
1.75M
    using arg_nocvref_t = remove_cvref_t<Arg>;
5100
1.75M
    static_assert(!std::is_same_v<arg_nocvref_t, needs_context_tag>);
5101
5102
1.75M
    constexpr bool scannable_char =
5103
1.75M
        !std::is_same_v<arg_nocvref_t, unscannable_char>;
5104
1.75M
    static_assert(scannable_char,
5105
1.75M
                  "Cannot scan an argument of an unsupported character "
5106
1.75M
                  "type (i.e. char from a wchar_t source)");
5107
5108
1.75M
    constexpr bool scannable_const =
5109
1.75M
        !std::is_same_v<arg_nocvref_t, unscannable_const>;
5110
1.75M
    static_assert(scannable_const, "Cannot scan a const argument");
5111
5112
1.75M
    constexpr bool scannable_disabled =
5113
1.75M
        !std::is_same_v<arg_nocvref_t, unscannable_disabled>;
5114
1.75M
    static_assert(scannable_disabled,
5115
1.75M
                  "Cannot scan an argument that has been disabled by "
5116
1.75M
                  "flag (SCN_DISABLE_TYPE_*)");
5117
5118
1.75M
    constexpr bool scannable = !std::is_same_v<arg_nocvref_t, unscannable>;
5119
1.75M
    static_assert(
5120
1.75M
        scannable,
5121
1.75M
        "Cannot scan an argument. To make a type T scannable, provide "
5122
1.75M
        "a scn::scanner<T, CharT> specialization.");
5123
5124
1.75M
    return arg_value{arg};
5125
1.75M
}
auto scn::v3::detail::make_value_impl<std::__1::basic_string_view<char, std::__1::char_traits<char> >&>(std::__1::basic_string_view<char, std::__1::char_traits<char> >&)
Line
Count
Source
5098
134k
{
5099
134k
    using arg_nocvref_t = remove_cvref_t<Arg>;
5100
134k
    static_assert(!std::is_same_v<arg_nocvref_t, needs_context_tag>);
5101
5102
134k
    constexpr bool scannable_char =
5103
134k
        !std::is_same_v<arg_nocvref_t, unscannable_char>;
5104
134k
    static_assert(scannable_char,
5105
134k
                  "Cannot scan an argument of an unsupported character "
5106
134k
                  "type (i.e. char from a wchar_t source)");
5107
5108
134k
    constexpr bool scannable_const =
5109
134k
        !std::is_same_v<arg_nocvref_t, unscannable_const>;
5110
134k
    static_assert(scannable_const, "Cannot scan a const argument");
5111
5112
134k
    constexpr bool scannable_disabled =
5113
134k
        !std::is_same_v<arg_nocvref_t, unscannable_disabled>;
5114
134k
    static_assert(scannable_disabled,
5115
134k
                  "Cannot scan an argument that has been disabled by "
5116
134k
                  "flag (SCN_DISABLE_TYPE_*)");
5117
5118
134k
    constexpr bool scannable = !std::is_same_v<arg_nocvref_t, unscannable>;
5119
134k
    static_assert(
5120
134k
        scannable,
5121
134k
        "Cannot scan an argument. To make a type T scannable, provide "
5122
134k
        "a scn::scanner<T, CharT> specialization.");
5123
5124
134k
    return arg_value{arg};
5125
134k
}
auto scn::v3::detail::make_value_impl<wchar_t&>(wchar_t&)
Line
Count
Source
5098
22.3k
{
5099
22.3k
    using arg_nocvref_t = remove_cvref_t<Arg>;
5100
22.3k
    static_assert(!std::is_same_v<arg_nocvref_t, needs_context_tag>);
5101
5102
22.3k
    constexpr bool scannable_char =
5103
22.3k
        !std::is_same_v<arg_nocvref_t, unscannable_char>;
5104
22.3k
    static_assert(scannable_char,
5105
22.3k
                  "Cannot scan an argument of an unsupported character "
5106
22.3k
                  "type (i.e. char from a wchar_t source)");
5107
5108
22.3k
    constexpr bool scannable_const =
5109
22.3k
        !std::is_same_v<arg_nocvref_t, unscannable_const>;
5110
22.3k
    static_assert(scannable_const, "Cannot scan a const argument");
5111
5112
22.3k
    constexpr bool scannable_disabled =
5113
22.3k
        !std::is_same_v<arg_nocvref_t, unscannable_disabled>;
5114
22.3k
    static_assert(scannable_disabled,
5115
22.3k
                  "Cannot scan an argument that has been disabled by "
5116
22.3k
                  "flag (SCN_DISABLE_TYPE_*)");
5117
5118
22.3k
    constexpr bool scannable = !std::is_same_v<arg_nocvref_t, unscannable>;
5119
22.3k
    static_assert(
5120
22.3k
        scannable,
5121
22.3k
        "Cannot scan an argument. To make a type T scannable, provide "
5122
22.3k
        "a scn::scanner<T, CharT> specialization.");
5123
5124
22.3k
    return arg_value{arg};
5125
22.3k
}
auto scn::v3::detail::make_value_impl<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&)
Line
Count
Source
5098
882k
{
5099
882k
    using arg_nocvref_t = remove_cvref_t<Arg>;
5100
882k
    static_assert(!std::is_same_v<arg_nocvref_t, needs_context_tag>);
5101
5102
882k
    constexpr bool scannable_char =
5103
882k
        !std::is_same_v<arg_nocvref_t, unscannable_char>;
5104
882k
    static_assert(scannable_char,
5105
882k
                  "Cannot scan an argument of an unsupported character "
5106
882k
                  "type (i.e. char from a wchar_t source)");
5107
5108
882k
    constexpr bool scannable_const =
5109
882k
        !std::is_same_v<arg_nocvref_t, unscannable_const>;
5110
882k
    static_assert(scannable_const, "Cannot scan a const argument");
5111
5112
882k
    constexpr bool scannable_disabled =
5113
882k
        !std::is_same_v<arg_nocvref_t, unscannable_disabled>;
5114
882k
    static_assert(scannable_disabled,
5115
882k
                  "Cannot scan an argument that has been disabled by "
5116
882k
                  "flag (SCN_DISABLE_TYPE_*)");
5117
5118
882k
    constexpr bool scannable = !std::is_same_v<arg_nocvref_t, unscannable>;
5119
882k
    static_assert(
5120
882k
        scannable,
5121
882k
        "Cannot scan an argument. To make a type T scannable, provide "
5122
882k
        "a scn::scanner<T, CharT> specialization.");
5123
5124
882k
    return arg_value{arg};
5125
882k
}
5126
5127
template <typename Context, typename T>
5128
constexpr auto make_value(T& value)
5129
7.91M
{
5130
7.91M
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5131
5132
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5133
7.91M
                                  needs_context_tag>) {
5134
7.91M
        return make_value_impl(SCN_FWD(arg));
5135
    }
5136
    else {
5137
        return make_value_impl(arg_mapper<typename Context::char_type>().map(
5138
            value, context_tag<Context>{}));
5139
    }
5140
7.91M
}
auto scn::v3::detail::make_value<scn::v3::basic_scan_context<char>, signed char>(signed char&)
Line
Count
Source
5129
148k
{
5130
148k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5131
5132
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5133
148k
                                  needs_context_tag>) {
5134
148k
        return make_value_impl(SCN_FWD(arg));
5135
    }
5136
    else {
5137
        return make_value_impl(arg_mapper<typename Context::char_type>().map(
5138
            value, context_tag<Context>{}));
5139
    }
5140
148k
}
auto scn::v3::detail::make_value<scn::v3::basic_scan_context<char>, unsigned char>(unsigned char&)
Line
Count
Source
5129
130k
{
5130
130k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5131
5132
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5133
130k
                                  needs_context_tag>) {
5134
130k
        return make_value_impl(SCN_FWD(arg));
5135
    }
5136
    else {
5137
        return make_value_impl(arg_mapper<typename Context::char_type>().map(
5138
            value, context_tag<Context>{}));
5139
    }
5140
130k
}
auto scn::v3::detail::make_value<scn::v3::basic_scan_context<char>, int>(int&)
Line
Count
Source
5129
184k
{
5130
184k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5131
5132
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5133
184k
                                  needs_context_tag>) {
5134
184k
        return make_value_impl(SCN_FWD(arg));
5135
    }
5136
    else {
5137
        return make_value_impl(arg_mapper<typename Context::char_type>().map(
5138
            value, context_tag<Context>{}));
5139
    }
5140
184k
}
auto scn::v3::detail::make_value<scn::v3::basic_scan_context<char>, unsigned int>(unsigned int&)
Line
Count
Source
5129
152k
{
5130
152k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5131
5132
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5133
152k
                                  needs_context_tag>) {
5134
152k
        return make_value_impl(SCN_FWD(arg));
5135
    }
5136
    else {
5137
        return make_value_impl(arg_mapper<typename Context::char_type>().map(
5138
            value, context_tag<Context>{}));
5139
    }
5140
152k
}
auto scn::v3::detail::make_value<scn::v3::basic_scan_context<char>, long long>(long long&)
Line
Count
Source
5129
176k
{
5130
176k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5131
5132
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5133
176k
                                  needs_context_tag>) {
5134
176k
        return make_value_impl(SCN_FWD(arg));
5135
    }
5136
    else {
5137
        return make_value_impl(arg_mapper<typename Context::char_type>().map(
5138
            value, context_tag<Context>{}));
5139
    }
5140
176k
}
auto scn::v3::detail::make_value<scn::v3::basic_scan_context<char>, unsigned long long>(unsigned long long&)
Line
Count
Source
5129
143k
{
5130
143k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5131
5132
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5133
143k
                                  needs_context_tag>) {
5134
143k
        return make_value_impl(SCN_FWD(arg));
5135
    }
5136
    else {
5137
        return make_value_impl(arg_mapper<typename Context::char_type>().map(
5138
            value, context_tag<Context>{}));
5139
    }
5140
143k
}
auto scn::v3::detail::make_value<scn::v3::basic_scan_context<wchar_t>, signed char>(signed char&)
Line
Count
Source
5129
60.2k
{
5130
60.2k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5131
5132
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5133
60.2k
                                  needs_context_tag>) {
5134
60.2k
        return make_value_impl(SCN_FWD(arg));
5135
    }
5136
    else {
5137
        return make_value_impl(arg_mapper<typename Context::char_type>().map(
5138
            value, context_tag<Context>{}));
5139
    }
5140
60.2k
}
auto scn::v3::detail::make_value<scn::v3::basic_scan_context<wchar_t>, unsigned char>(unsigned char&)
Line
Count
Source
5129
60.1k
{
5130
60.1k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5131
5132
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5133
60.1k
                                  needs_context_tag>) {
5134
60.1k
        return make_value_impl(SCN_FWD(arg));
5135
    }
5136
    else {
5137
        return make_value_impl(arg_mapper<typename Context::char_type>().map(
5138
            value, context_tag<Context>{}));
5139
    }
5140
60.1k
}
auto scn::v3::detail::make_value<scn::v3::basic_scan_context<wchar_t>, int>(int&)
Line
Count
Source
5129
82.8k
{
5130
82.8k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5131
5132
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5133
82.8k
                                  needs_context_tag>) {
5134
82.8k
        return make_value_impl(SCN_FWD(arg));
5135
    }
5136
    else {
5137
        return make_value_impl(arg_mapper<typename Context::char_type>().map(
5138
            value, context_tag<Context>{}));
5139
    }
5140
82.8k
}
auto scn::v3::detail::make_value<scn::v3::basic_scan_context<wchar_t>, unsigned int>(unsigned int&)
Line
Count
Source
5129
82.6k
{
5130
82.6k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5131
5132
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5133
82.6k
                                  needs_context_tag>) {
5134
82.6k
        return make_value_impl(SCN_FWD(arg));
5135
    }
5136
    else {
5137
        return make_value_impl(arg_mapper<typename Context::char_type>().map(
5138
            value, context_tag<Context>{}));
5139
    }
5140
82.6k
}
auto scn::v3::detail::make_value<scn::v3::basic_scan_context<wchar_t>, long long>(long long&)
Line
Count
Source
5129
60.7k
{
5130
60.7k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5131
5132
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5133
60.7k
                                  needs_context_tag>) {
5134
60.7k
        return make_value_impl(SCN_FWD(arg));
5135
    }
5136
    else {
5137
        return make_value_impl(arg_mapper<typename Context::char_type>().map(
5138
            value, context_tag<Context>{}));
5139
    }
5140
60.7k
}
auto scn::v3::detail::make_value<scn::v3::basic_scan_context<wchar_t>, unsigned long long>(unsigned long long&)
Line
Count
Source
5129
60.4k
{
5130
60.4k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5131
5132
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5133
60.4k
                                  needs_context_tag>) {
5134
60.4k
        return make_value_impl(SCN_FWD(arg));
5135
    }
5136
    else {
5137
        return make_value_impl(arg_mapper<typename Context::char_type>().map(
5138
            value, context_tag<Context>{}));
5139
    }
5140
60.4k
}
auto scn::v3::detail::make_value<scn::v3::basic_scan_context<char>, float>(float&)
Line
Count
Source
5129
723k
{
5130
723k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5131
5132
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5133
723k
                                  needs_context_tag>) {
5134
723k
        return make_value_impl(SCN_FWD(arg));
5135
    }
5136
    else {
5137
        return make_value_impl(arg_mapper<typename Context::char_type>().map(
5138
            value, context_tag<Context>{}));
5139
    }
5140
723k
}
auto scn::v3::detail::make_value<scn::v3::basic_scan_context<char>, double>(double&)
Line
Count
Source
5129
760k
{
5130
760k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5131
5132
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5133
760k
                                  needs_context_tag>) {
5134
760k
        return make_value_impl(SCN_FWD(arg));
5135
    }
5136
    else {
5137
        return make_value_impl(arg_mapper<typename Context::char_type>().map(
5138
            value, context_tag<Context>{}));
5139
    }
5140
760k
}
auto scn::v3::detail::make_value<scn::v3::basic_scan_context<char>, long double>(long double&)
Line
Count
Source
5129
763k
{
5130
763k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5131
5132
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5133
763k
                                  needs_context_tag>) {
5134
763k
        return make_value_impl(SCN_FWD(arg));
5135
    }
5136
    else {
5137
        return make_value_impl(arg_mapper<typename Context::char_type>().map(
5138
            value, context_tag<Context>{}));
5139
    }
5140
763k
}
auto scn::v3::detail::make_value<scn::v3::basic_scan_context<wchar_t>, float>(float&)
Line
Count
Source
5129
345k
{
5130
345k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5131
5132
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5133
345k
                                  needs_context_tag>) {
5134
345k
        return make_value_impl(SCN_FWD(arg));
5135
    }
5136
    else {
5137
        return make_value_impl(arg_mapper<typename Context::char_type>().map(
5138
            value, context_tag<Context>{}));
5139
    }
5140
345k
}
auto scn::v3::detail::make_value<scn::v3::basic_scan_context<wchar_t>, double>(double&)
Line
Count
Source
5129
408k
{
5130
408k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5131
5132
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5133
408k
                                  needs_context_tag>) {
5134
408k
        return make_value_impl(SCN_FWD(arg));
5135
    }
5136
    else {
5137
        return make_value_impl(arg_mapper<typename Context::char_type>().map(
5138
            value, context_tag<Context>{}));
5139
    }
5140
408k
}
auto scn::v3::detail::make_value<scn::v3::basic_scan_context<wchar_t>, long double>(long double&)
Line
Count
Source
5129
391k
{
5130
391k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5131
5132
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5133
391k
                                  needs_context_tag>) {
5134
391k
        return make_value_impl(SCN_FWD(arg));
5135
    }
5136
    else {
5137
        return make_value_impl(arg_mapper<typename Context::char_type>().map(
5138
            value, context_tag<Context>{}));
5139
    }
5140
391k
}
auto scn::v3::detail::make_value<scn::v3::basic_scan_context<char>, char>(char&)
Line
Count
Source
5129
11.1k
{
5130
11.1k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5131
5132
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5133
11.1k
                                  needs_context_tag>) {
5134
11.1k
        return make_value_impl(SCN_FWD(arg));
5135
    }
5136
    else {
5137
        return make_value_impl(arg_mapper<typename Context::char_type>().map(
5138
            value, context_tag<Context>{}));
5139
    }
5140
11.1k
}
auto scn::v3::detail::make_value<scn::v3::basic_scan_context<char>, bool>(bool&)
Line
Count
Source
5129
11.1k
{
5130
11.1k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5131
5132
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5133
11.1k
                                  needs_context_tag>) {
5134
11.1k
        return make_value_impl(SCN_FWD(arg));
5135
    }
5136
    else {
5137
        return make_value_impl(arg_mapper<typename Context::char_type>().map(
5138
            value, context_tag<Context>{}));
5139
    }
5140
11.1k
}
auto scn::v3::detail::make_value<scn::v3::basic_scan_context<char>, void*>(void*&)
Line
Count
Source
5129
11.1k
{
5130
11.1k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5131
5132
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5133
11.1k
                                  needs_context_tag>) {
5134
11.1k
        return make_value_impl(SCN_FWD(arg));
5135
    }
5136
    else {
5137
        return make_value_impl(arg_mapper<typename Context::char_type>().map(
5138
            value, context_tag<Context>{}));
5139
    }
5140
11.1k
}
auto scn::v3::detail::make_value<scn::v3::basic_scan_context<char>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
5129
286k
{
5130
286k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5131
5132
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5133
286k
                                  needs_context_tag>) {
5134
286k
        return make_value_impl(SCN_FWD(arg));
5135
    }
5136
    else {
5137
        return make_value_impl(arg_mapper<typename Context::char_type>().map(
5138
            value, context_tag<Context>{}));
5139
    }
5140
286k
}
auto scn::v3::detail::make_value<scn::v3::basic_scan_context<char>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
5129
11.1k
{
5130
11.1k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5131
5132
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5133
11.1k
                                  needs_context_tag>) {
5134
11.1k
        return make_value_impl(SCN_FWD(arg));
5135
    }
5136
    else {
5137
        return make_value_impl(arg_mapper<typename Context::char_type>().map(
5138
            value, context_tag<Context>{}));
5139
    }
5140
11.1k
}
auto scn::v3::detail::make_value<scn::v3::basic_scan_context<char>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >(std::__1::basic_string_view<char, std::__1::char_traits<char> >&)
Line
Count
Source
5129
134k
{
5130
134k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5131
5132
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5133
134k
                                  needs_context_tag>) {
5134
134k
        return make_value_impl(SCN_FWD(arg));
5135
    }
5136
    else {
5137
        return make_value_impl(arg_mapper<typename Context::char_type>().map(
5138
            value, context_tag<Context>{}));
5139
    }
5140
134k
}
auto scn::v3::detail::make_value<scn::v3::basic_scan_context<wchar_t>, wchar_t>(wchar_t&)
Line
Count
Source
5129
22.3k
{
5130
22.3k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5131
5132
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5133
22.3k
                                  needs_context_tag>) {
5134
22.3k
        return make_value_impl(SCN_FWD(arg));
5135
    }
5136
    else {
5137
        return make_value_impl(arg_mapper<typename Context::char_type>().map(
5138
            value, context_tag<Context>{}));
5139
    }
5140
22.3k
}
auto scn::v3::detail::make_value<scn::v3::basic_scan_context<wchar_t>, bool>(bool&)
Line
Count
Source
5129
22.3k
{
5130
22.3k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5131
5132
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5133
22.3k
                                  needs_context_tag>) {
5134
22.3k
        return make_value_impl(SCN_FWD(arg));
5135
    }
5136
    else {
5137
        return make_value_impl(arg_mapper<typename Context::char_type>().map(
5138
            value, context_tag<Context>{}));
5139
    }
5140
22.3k
}
auto scn::v3::detail::make_value<scn::v3::basic_scan_context<wchar_t>, void*>(void*&)
Line
Count
Source
5129
22.3k
{
5130
22.3k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5131
5132
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5133
22.3k
                                  needs_context_tag>) {
5134
22.3k
        return make_value_impl(SCN_FWD(arg));
5135
    }
5136
    else {
5137
        return make_value_impl(arg_mapper<typename Context::char_type>().map(
5138
            value, context_tag<Context>{}));
5139
    }
5140
22.3k
}
auto scn::v3::detail::make_value<scn::v3::basic_scan_context<wchar_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
5129
22.3k
{
5130
22.3k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5131
5132
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5133
22.3k
                                  needs_context_tag>) {
5134
22.3k
        return make_value_impl(SCN_FWD(arg));
5135
    }
5136
    else {
5137
        return make_value_impl(arg_mapper<typename Context::char_type>().map(
5138
            value, context_tag<Context>{}));
5139
    }
5140
22.3k
}
auto scn::v3::detail::make_value<scn::v3::basic_scan_context<wchar_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
5129
1.74M
{
5130
1.74M
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5131
5132
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5133
1.74M
                                  needs_context_tag>) {
5134
1.74M
        return make_value_impl(SCN_FWD(arg));
5135
    }
5136
    else {
5137
        return make_value_impl(arg_mapper<typename Context::char_type>().map(
5138
            value, context_tag<Context>{}));
5139
    }
5140
1.74M
}
auto scn::v3::detail::make_value<scn::v3::basic_scan_context<wchar_t>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&)
Line
Count
Source
5129
882k
{
5130
882k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5131
5132
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5133
882k
                                  needs_context_tag>) {
5134
882k
        return make_value_impl(SCN_FWD(arg));
5135
    }
5136
    else {
5137
        return make_value_impl(arg_mapper<typename Context::char_type>().map(
5138
            value, context_tag<Context>{}));
5139
    }
5140
882k
}
5141
5142
template <typename... Args>
5143
constexpr void check_scan_arg_types()
5144
7.91M
{
5145
7.91M
    static_assert(std::conjunction_v<std::is_default_constructible<Args>...>,
5146
7.91M
                  "Scan argument types must be default constructible");
5147
7.91M
    static_assert(std::conjunction_v<std::is_destructible<Args>...>,
5148
7.91M
                  "Scan argument types must be Destructible");
5149
7.91M
    static_assert(
5150
7.91M
        !std::conjunction_v<std::false_type, std::is_reference<Args>...>,
5151
7.91M
        "Scan argument types must not be references");
5152
7.91M
}
void scn::v3::detail::check_scan_arg_types<signed char>()
Line
Count
Source
5144
209k
{
5145
209k
    static_assert(std::conjunction_v<std::is_default_constructible<Args>...>,
5146
209k
                  "Scan argument types must be default constructible");
5147
209k
    static_assert(std::conjunction_v<std::is_destructible<Args>...>,
5148
209k
                  "Scan argument types must be Destructible");
5149
209k
    static_assert(
5150
209k
        !std::conjunction_v<std::false_type, std::is_reference<Args>...>,
5151
209k
        "Scan argument types must not be references");
5152
209k
}
void scn::v3::detail::check_scan_arg_types<unsigned char>()
Line
Count
Source
5144
190k
{
5145
190k
    static_assert(std::conjunction_v<std::is_default_constructible<Args>...>,
5146
190k
                  "Scan argument types must be default constructible");
5147
190k
    static_assert(std::conjunction_v<std::is_destructible<Args>...>,
5148
190k
                  "Scan argument types must be Destructible");
5149
190k
    static_assert(
5150
190k
        !std::conjunction_v<std::false_type, std::is_reference<Args>...>,
5151
190k
        "Scan argument types must not be references");
5152
190k
}
void scn::v3::detail::check_scan_arg_types<int>()
Line
Count
Source
5144
267k
{
5145
267k
    static_assert(std::conjunction_v<std::is_default_constructible<Args>...>,
5146
267k
                  "Scan argument types must be default constructible");
5147
267k
    static_assert(std::conjunction_v<std::is_destructible<Args>...>,
5148
267k
                  "Scan argument types must be Destructible");
5149
267k
    static_assert(
5150
267k
        !std::conjunction_v<std::false_type, std::is_reference<Args>...>,
5151
267k
        "Scan argument types must not be references");
5152
267k
}
void scn::v3::detail::check_scan_arg_types<unsigned int>()
Line
Count
Source
5144
235k
{
5145
235k
    static_assert(std::conjunction_v<std::is_default_constructible<Args>...>,
5146
235k
                  "Scan argument types must be default constructible");
5147
235k
    static_assert(std::conjunction_v<std::is_destructible<Args>...>,
5148
235k
                  "Scan argument types must be Destructible");
5149
235k
    static_assert(
5150
235k
        !std::conjunction_v<std::false_type, std::is_reference<Args>...>,
5151
235k
        "Scan argument types must not be references");
5152
235k
}
void scn::v3::detail::check_scan_arg_types<long long>()
Line
Count
Source
5144
236k
{
5145
236k
    static_assert(std::conjunction_v<std::is_default_constructible<Args>...>,
5146
236k
                  "Scan argument types must be default constructible");
5147
236k
    static_assert(std::conjunction_v<std::is_destructible<Args>...>,
5148
236k
                  "Scan argument types must be Destructible");
5149
236k
    static_assert(
5150
236k
        !std::conjunction_v<std::false_type, std::is_reference<Args>...>,
5151
236k
        "Scan argument types must not be references");
5152
236k
}
void scn::v3::detail::check_scan_arg_types<unsigned long long>()
Line
Count
Source
5144
203k
{
5145
203k
    static_assert(std::conjunction_v<std::is_default_constructible<Args>...>,
5146
203k
                  "Scan argument types must be default constructible");
5147
203k
    static_assert(std::conjunction_v<std::is_destructible<Args>...>,
5148
203k
                  "Scan argument types must be Destructible");
5149
203k
    static_assert(
5150
203k
        !std::conjunction_v<std::false_type, std::is_reference<Args>...>,
5151
203k
        "Scan argument types must not be references");
5152
203k
}
void scn::v3::detail::check_scan_arg_types<float>()
Line
Count
Source
5144
1.06M
{
5145
1.06M
    static_assert(std::conjunction_v<std::is_default_constructible<Args>...>,
5146
1.06M
                  "Scan argument types must be default constructible");
5147
1.06M
    static_assert(std::conjunction_v<std::is_destructible<Args>...>,
5148
1.06M
                  "Scan argument types must be Destructible");
5149
1.06M
    static_assert(
5150
1.06M
        !std::conjunction_v<std::false_type, std::is_reference<Args>...>,
5151
1.06M
        "Scan argument types must not be references");
5152
1.06M
}
void scn::v3::detail::check_scan_arg_types<double>()
Line
Count
Source
5144
1.16M
{
5145
1.16M
    static_assert(std::conjunction_v<std::is_default_constructible<Args>...>,
5146
1.16M
                  "Scan argument types must be default constructible");
5147
1.16M
    static_assert(std::conjunction_v<std::is_destructible<Args>...>,
5148
1.16M
                  "Scan argument types must be Destructible");
5149
1.16M
    static_assert(
5150
1.16M
        !std::conjunction_v<std::false_type, std::is_reference<Args>...>,
5151
1.16M
        "Scan argument types must not be references");
5152
1.16M
}
void scn::v3::detail::check_scan_arg_types<long double>()
Line
Count
Source
5144
1.15M
{
5145
1.15M
    static_assert(std::conjunction_v<std::is_default_constructible<Args>...>,
5146
1.15M
                  "Scan argument types must be default constructible");
5147
1.15M
    static_assert(std::conjunction_v<std::is_destructible<Args>...>,
5148
1.15M
                  "Scan argument types must be Destructible");
5149
1.15M
    static_assert(
5150
1.15M
        !std::conjunction_v<std::false_type, std::is_reference<Args>...>,
5151
1.15M
        "Scan argument types must not be references");
5152
1.15M
}
void scn::v3::detail::check_scan_arg_types<char>()
Line
Count
Source
5144
11.1k
{
5145
11.1k
    static_assert(std::conjunction_v<std::is_default_constructible<Args>...>,
5146
11.1k
                  "Scan argument types must be default constructible");
5147
11.1k
    static_assert(std::conjunction_v<std::is_destructible<Args>...>,
5148
11.1k
                  "Scan argument types must be Destructible");
5149
11.1k
    static_assert(
5150
11.1k
        !std::conjunction_v<std::false_type, std::is_reference<Args>...>,
5151
11.1k
        "Scan argument types must not be references");
5152
11.1k
}
void scn::v3::detail::check_scan_arg_types<bool>()
Line
Count
Source
5144
33.5k
{
5145
33.5k
    static_assert(std::conjunction_v<std::is_default_constructible<Args>...>,
5146
33.5k
                  "Scan argument types must be default constructible");
5147
33.5k
    static_assert(std::conjunction_v<std::is_destructible<Args>...>,
5148
33.5k
                  "Scan argument types must be Destructible");
5149
33.5k
    static_assert(
5150
33.5k
        !std::conjunction_v<std::false_type, std::is_reference<Args>...>,
5151
33.5k
        "Scan argument types must not be references");
5152
33.5k
}
void scn::v3::detail::check_scan_arg_types<void*>()
Line
Count
Source
5144
33.5k
{
5145
33.5k
    static_assert(std::conjunction_v<std::is_default_constructible<Args>...>,
5146
33.5k
                  "Scan argument types must be default constructible");
5147
33.5k
    static_assert(std::conjunction_v<std::is_destructible<Args>...>,
5148
33.5k
                  "Scan argument types must be Destructible");
5149
33.5k
    static_assert(
5150
33.5k
        !std::conjunction_v<std::false_type, std::is_reference<Args>...>,
5151
33.5k
        "Scan argument types must not be references");
5152
33.5k
}
void scn::v3::detail::check_scan_arg_types<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >()
Line
Count
Source
5144
308k
{
5145
308k
    static_assert(std::conjunction_v<std::is_default_constructible<Args>...>,
5146
308k
                  "Scan argument types must be default constructible");
5147
308k
    static_assert(std::conjunction_v<std::is_destructible<Args>...>,
5148
308k
                  "Scan argument types must be Destructible");
5149
308k
    static_assert(
5150
308k
        !std::conjunction_v<std::false_type, std::is_reference<Args>...>,
5151
308k
        "Scan argument types must not be references");
5152
308k
}
void scn::v3::detail::check_scan_arg_types<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >()
Line
Count
Source
5144
1.75M
{
5145
1.75M
    static_assert(std::conjunction_v<std::is_default_constructible<Args>...>,
5146
1.75M
                  "Scan argument types must be default constructible");
5147
1.75M
    static_assert(std::conjunction_v<std::is_destructible<Args>...>,
5148
1.75M
                  "Scan argument types must be Destructible");
5149
1.75M
    static_assert(
5150
1.75M
        !std::conjunction_v<std::false_type, std::is_reference<Args>...>,
5151
1.75M
        "Scan argument types must not be references");
5152
1.75M
}
void scn::v3::detail::check_scan_arg_types<std::__1::basic_string_view<char, std::__1::char_traits<char> > >()
Line
Count
Source
5144
134k
{
5145
134k
    static_assert(std::conjunction_v<std::is_default_constructible<Args>...>,
5146
134k
                  "Scan argument types must be default constructible");
5147
134k
    static_assert(std::conjunction_v<std::is_destructible<Args>...>,
5148
134k
                  "Scan argument types must be Destructible");
5149
134k
    static_assert(
5150
134k
        !std::conjunction_v<std::false_type, std::is_reference<Args>...>,
5151
134k
        "Scan argument types must not be references");
5152
134k
}
void scn::v3::detail::check_scan_arg_types<wchar_t>()
Line
Count
Source
5144
22.3k
{
5145
22.3k
    static_assert(std::conjunction_v<std::is_default_constructible<Args>...>,
5146
22.3k
                  "Scan argument types must be default constructible");
5147
22.3k
    static_assert(std::conjunction_v<std::is_destructible<Args>...>,
5148
22.3k
                  "Scan argument types must be Destructible");
5149
22.3k
    static_assert(
5150
22.3k
        !std::conjunction_v<std::false_type, std::is_reference<Args>...>,
5151
22.3k
        "Scan argument types must not be references");
5152
22.3k
}
void scn::v3::detail::check_scan_arg_types<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >()
Line
Count
Source
5144
882k
{
5145
882k
    static_assert(std::conjunction_v<std::is_default_constructible<Args>...>,
5146
882k
                  "Scan argument types must be default constructible");
5147
882k
    static_assert(std::conjunction_v<std::is_destructible<Args>...>,
5148
882k
                  "Scan argument types must be Destructible");
5149
882k
    static_assert(
5150
882k
        !std::conjunction_v<std::false_type, std::is_reference<Args>...>,
5151
882k
        "Scan argument types must not be references");
5152
882k
}
5153
5154
enum class scan_arg_store_kind {
5155
    // only built-in types (no custom types), packed
5156
    builtin,
5157
5158
    packed,
5159
    unpacked
5160
};
5161
5162
template <typename Context, typename T>
5163
constexpr basic_scan_arg<Context> make_arg(T& value)
5164
977k
{
5165
977k
    check_scan_arg_types<T>();
5166
5167
977k
    basic_scan_arg<Context> arg;
5168
977k
    arg.m_type = mapped_type_constant<T, typename Context::char_type>::value;
5169
977k
    arg.m_value = make_value<Context>(value);
5170
977k
    return arg;
5171
977k
}
scn::v3::basic_scan_arg<scn::v3::basic_scan_context<char> > scn::v3::detail::make_arg<scn::v3::basic_scan_context<char>, signed char>(signed char&)
Line
Count
Source
5164
10.7k
{
5165
10.7k
    check_scan_arg_types<T>();
5166
5167
10.7k
    basic_scan_arg<Context> arg;
5168
10.7k
    arg.m_type = mapped_type_constant<T, typename Context::char_type>::value;
5169
10.7k
    arg.m_value = make_value<Context>(value);
5170
10.7k
    return arg;
5171
10.7k
}
scn::v3::basic_scan_arg<scn::v3::basic_scan_context<char> > scn::v3::detail::make_arg<scn::v3::basic_scan_context<char>, unsigned char>(unsigned char&)
Line
Count
Source
5164
8.98k
{
5165
8.98k
    check_scan_arg_types<T>();
5166
5167
8.98k
    basic_scan_arg<Context> arg;
5168
8.98k
    arg.m_type = mapped_type_constant<T, typename Context::char_type>::value;
5169
8.98k
    arg.m_value = make_value<Context>(value);
5170
8.98k
    return arg;
5171
8.98k
}
scn::v3::basic_scan_arg<scn::v3::basic_scan_context<char> > scn::v3::detail::make_arg<scn::v3::basic_scan_context<char>, int>(int&)
Line
Count
Source
5164
12.2k
{
5165
12.2k
    check_scan_arg_types<T>();
5166
5167
12.2k
    basic_scan_arg<Context> arg;
5168
12.2k
    arg.m_type = mapped_type_constant<T, typename Context::char_type>::value;
5169
12.2k
    arg.m_value = make_value<Context>(value);
5170
12.2k
    return arg;
5171
12.2k
}
scn::v3::basic_scan_arg<scn::v3::basic_scan_context<char> > scn::v3::detail::make_arg<scn::v3::basic_scan_context<char>, unsigned int>(unsigned int&)
Line
Count
Source
5164
9.85k
{
5165
9.85k
    check_scan_arg_types<T>();
5166
5167
9.85k
    basic_scan_arg<Context> arg;
5168
9.85k
    arg.m_type = mapped_type_constant<T, typename Context::char_type>::value;
5169
9.85k
    arg.m_value = make_value<Context>(value);
5170
9.85k
    return arg;
5171
9.85k
}
scn::v3::basic_scan_arg<scn::v3::basic_scan_context<char> > scn::v3::detail::make_arg<scn::v3::basic_scan_context<char>, long long>(long long&)
Line
Count
Source
5164
12.4k
{
5165
12.4k
    check_scan_arg_types<T>();
5166
5167
12.4k
    basic_scan_arg<Context> arg;
5168
12.4k
    arg.m_type = mapped_type_constant<T, typename Context::char_type>::value;
5169
12.4k
    arg.m_value = make_value<Context>(value);
5170
12.4k
    return arg;
5171
12.4k
}
scn::v3::basic_scan_arg<scn::v3::basic_scan_context<char> > scn::v3::detail::make_arg<scn::v3::basic_scan_context<char>, unsigned long long>(unsigned long long&)
Line
Count
Source
5164
9.97k
{
5165
9.97k
    check_scan_arg_types<T>();
5166
5167
9.97k
    basic_scan_arg<Context> arg;
5168
9.97k
    arg.m_type = mapped_type_constant<T, typename Context::char_type>::value;
5169
9.97k
    arg.m_value = make_value<Context>(value);
5170
9.97k
    return arg;
5171
9.97k
}
scn::v3::basic_scan_arg<scn::v3::basic_scan_context<wchar_t> > scn::v3::detail::make_arg<scn::v3::basic_scan_context<wchar_t>, signed char>(signed char&)
Line
Count
Source
5164
2.89k
{
5165
2.89k
    check_scan_arg_types<T>();
5166
5167
2.89k
    basic_scan_arg<Context> arg;
5168
2.89k
    arg.m_type = mapped_type_constant<T, typename Context::char_type>::value;
5169
2.89k
    arg.m_value = make_value<Context>(value);
5170
2.89k
    return arg;
5171
2.89k
}
scn::v3::basic_scan_arg<scn::v3::basic_scan_context<wchar_t> > scn::v3::detail::make_arg<scn::v3::basic_scan_context<wchar_t>, unsigned char>(unsigned char&)
Line
Count
Source
5164
2.88k
{
5165
2.88k
    check_scan_arg_types<T>();
5166
5167
2.88k
    basic_scan_arg<Context> arg;
5168
2.88k
    arg.m_type = mapped_type_constant<T, typename Context::char_type>::value;
5169
2.88k
    arg.m_value = make_value<Context>(value);
5170
2.88k
    return arg;
5171
2.88k
}
scn::v3::basic_scan_arg<scn::v3::basic_scan_context<wchar_t> > scn::v3::detail::make_arg<scn::v3::basic_scan_context<wchar_t>, int>(int&)
Line
Count
Source
5164
2.91k
{
5165
2.91k
    check_scan_arg_types<T>();
5166
5167
2.91k
    basic_scan_arg<Context> arg;
5168
2.91k
    arg.m_type = mapped_type_constant<T, typename Context::char_type>::value;
5169
2.91k
    arg.m_value = make_value<Context>(value);
5170
2.91k
    return arg;
5171
2.91k
}
scn::v3::basic_scan_arg<scn::v3::basic_scan_context<wchar_t> > scn::v3::detail::make_arg<scn::v3::basic_scan_context<wchar_t>, unsigned int>(unsigned int&)
Line
Count
Source
5164
2.89k
{
5165
2.89k
    check_scan_arg_types<T>();
5166
5167
2.89k
    basic_scan_arg<Context> arg;
5168
2.89k
    arg.m_type = mapped_type_constant<T, typename Context::char_type>::value;
5169
2.89k
    arg.m_value = make_value<Context>(value);
5170
2.89k
    return arg;
5171
2.89k
}
scn::v3::basic_scan_arg<scn::v3::basic_scan_context<wchar_t> > scn::v3::detail::make_arg<scn::v3::basic_scan_context<wchar_t>, long long>(long long&)
Line
Count
Source
5164
2.93k
{
5165
2.93k
    check_scan_arg_types<T>();
5166
5167
2.93k
    basic_scan_arg<Context> arg;
5168
2.93k
    arg.m_type = mapped_type_constant<T, typename Context::char_type>::value;
5169
2.93k
    arg.m_value = make_value<Context>(value);
5170
2.93k
    return arg;
5171
2.93k
}
scn::v3::basic_scan_arg<scn::v3::basic_scan_context<wchar_t> > scn::v3::detail::make_arg<scn::v3::basic_scan_context<wchar_t>, unsigned long long>(unsigned long long&)
Line
Count
Source
5164
2.91k
{
5165
2.91k
    check_scan_arg_types<T>();
5166
5167
2.91k
    basic_scan_arg<Context> arg;
5168
2.91k
    arg.m_type = mapped_type_constant<T, typename Context::char_type>::value;
5169
2.91k
    arg.m_value = make_value<Context>(value);
5170
2.91k
    return arg;
5171
2.91k
}
scn::v3::basic_scan_arg<scn::v3::basic_scan_context<char> > scn::v3::detail::make_arg<scn::v3::basic_scan_context<char>, float>(float&)
Line
Count
Source
5164
69.3k
{
5165
69.3k
    check_scan_arg_types<T>();
5166
5167
69.3k
    basic_scan_arg<Context> arg;
5168
69.3k
    arg.m_type = mapped_type_constant<T, typename Context::char_type>::value;
5169
69.3k
    arg.m_value = make_value<Context>(value);
5170
69.3k
    return arg;
5171
69.3k
}
scn::v3::basic_scan_arg<scn::v3::basic_scan_context<char> > scn::v3::detail::make_arg<scn::v3::basic_scan_context<char>, double>(double&)
Line
Count
Source
5164
72.3k
{
5165
72.3k
    check_scan_arg_types<T>();
5166
5167
72.3k
    basic_scan_arg<Context> arg;
5168
72.3k
    arg.m_type = mapped_type_constant<T, typename Context::char_type>::value;
5169
72.3k
    arg.m_value = make_value<Context>(value);
5170
72.3k
    return arg;
5171
72.3k
}
scn::v3::basic_scan_arg<scn::v3::basic_scan_context<char> > scn::v3::detail::make_arg<scn::v3::basic_scan_context<char>, long double>(long double&)
Line
Count
Source
5164
74.0k
{
5165
74.0k
    check_scan_arg_types<T>();
5166
5167
74.0k
    basic_scan_arg<Context> arg;
5168
74.0k
    arg.m_type = mapped_type_constant<T, typename Context::char_type>::value;
5169
74.0k
    arg.m_value = make_value<Context>(value);
5170
74.0k
    return arg;
5171
74.0k
}
scn::v3::basic_scan_arg<scn::v3::basic_scan_context<wchar_t> > scn::v3::detail::make_arg<scn::v3::basic_scan_context<wchar_t>, float>(float&)
Line
Count
Source
5164
28.9k
{
5165
28.9k
    check_scan_arg_types<T>();
5166
5167
28.9k
    basic_scan_arg<Context> arg;
5168
28.9k
    arg.m_type = mapped_type_constant<T, typename Context::char_type>::value;
5169
28.9k
    arg.m_value = make_value<Context>(value);
5170
28.9k
    return arg;
5171
28.9k
}
scn::v3::basic_scan_arg<scn::v3::basic_scan_context<wchar_t> > scn::v3::detail::make_arg<scn::v3::basic_scan_context<wchar_t>, double>(double&)
Line
Count
Source
5164
34.7k
{
5165
34.7k
    check_scan_arg_types<T>();
5166
5167
34.7k
    basic_scan_arg<Context> arg;
5168
34.7k
    arg.m_type = mapped_type_constant<T, typename Context::char_type>::value;
5169
34.7k
    arg.m_value = make_value<Context>(value);
5170
34.7k
    return arg;
5171
34.7k
}
scn::v3::basic_scan_arg<scn::v3::basic_scan_context<wchar_t> > scn::v3::detail::make_arg<scn::v3::basic_scan_context<wchar_t>, long double>(long double&)
Line
Count
Source
5164
35.6k
{
5165
35.6k
    check_scan_arg_types<T>();
5166
5167
35.6k
    basic_scan_arg<Context> arg;
5168
35.6k
    arg.m_type = mapped_type_constant<T, typename Context::char_type>::value;
5169
35.6k
    arg.m_value = make_value<Context>(value);
5170
35.6k
    return arg;
5171
35.6k
}
scn::v3::basic_scan_arg<scn::v3::basic_scan_context<char> > scn::v3::detail::make_arg<scn::v3::basic_scan_context<char>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
5164
51.2k
{
5165
51.2k
    check_scan_arg_types<T>();
5166
5167
51.2k
    basic_scan_arg<Context> arg;
5168
51.2k
    arg.m_type = mapped_type_constant<T, typename Context::char_type>::value;
5169
51.2k
    arg.m_value = make_value<Context>(value);
5170
51.2k
    return arg;
5171
51.2k
}
scn::v3::basic_scan_arg<scn::v3::basic_scan_context<char> > scn::v3::detail::make_arg<scn::v3::basic_scan_context<char>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >(std::__1::basic_string_view<char, std::__1::char_traits<char> >&)
Line
Count
Source
5164
22.8k
{
5165
22.8k
    check_scan_arg_types<T>();
5166
5167
22.8k
    basic_scan_arg<Context> arg;
5168
22.8k
    arg.m_type = mapped_type_constant<T, typename Context::char_type>::value;
5169
22.8k
    arg.m_value = make_value<Context>(value);
5170
22.8k
    return arg;
5171
22.8k
}
scn::v3::basic_scan_arg<scn::v3::basic_scan_context<wchar_t> > scn::v3::detail::make_arg<scn::v3::basic_scan_context<wchar_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
5164
337k
{
5165
337k
    check_scan_arg_types<T>();
5166
5167
337k
    basic_scan_arg<Context> arg;
5168
337k
    arg.m_type = mapped_type_constant<T, typename Context::char_type>::value;
5169
337k
    arg.m_value = make_value<Context>(value);
5170
337k
    return arg;
5171
337k
}
scn::v3::basic_scan_arg<scn::v3::basic_scan_context<wchar_t> > scn::v3::detail::make_arg<scn::v3::basic_scan_context<wchar_t>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&)
Line
Count
Source
5164
168k
{
5165
168k
    check_scan_arg_types<T>();
5166
5167
168k
    basic_scan_arg<Context> arg;
5168
168k
    arg.m_type = mapped_type_constant<T, typename Context::char_type>::value;
5169
168k
    arg.m_value = make_value<Context>(value);
5170
168k
    return arg;
5171
168k
}
5172
5173
template <scan_arg_store_kind Kind,
5174
          typename Context,
5175
          arg_type,
5176
          typename T,
5177
          typename = std::enable_if_t<Kind == scan_arg_store_kind::builtin>>
5178
constexpr void* make_arg(T& value)
5179
6.94M
{
5180
6.94M
    return make_value<Context>(value).ref_value;
5181
6.94M
}
void* scn::v3::detail::make_arg<(scn::v3::detail::scan_arg_store_kind)0, scn::v3::basic_scan_context<char>, (scn::v3::detail::arg_type)1, signed char, void>(signed char&)
Line
Count
Source
5179
138k
{
5180
138k
    return make_value<Context>(value).ref_value;
5181
138k
}
void* scn::v3::detail::make_arg<(scn::v3::detail::scan_arg_store_kind)0, scn::v3::basic_scan_context<char>, (scn::v3::detail::arg_type)6, unsigned char, void>(unsigned char&)
Line
Count
Source
5179
121k
{
5180
121k
    return make_value<Context>(value).ref_value;
5181
121k
}
void* scn::v3::detail::make_arg<(scn::v3::detail::scan_arg_store_kind)0, scn::v3::basic_scan_context<char>, (scn::v3::detail::arg_type)3, int, void>(int&)
Line
Count
Source
5179
172k
{
5180
172k
    return make_value<Context>(value).ref_value;
5181
172k
}
void* scn::v3::detail::make_arg<(scn::v3::detail::scan_arg_store_kind)0, scn::v3::basic_scan_context<char>, (scn::v3::detail::arg_type)8, unsigned int, void>(unsigned int&)
Line
Count
Source
5179
143k
{
5180
143k
    return make_value<Context>(value).ref_value;
5181
143k
}
void* scn::v3::detail::make_arg<(scn::v3::detail::scan_arg_store_kind)0, scn::v3::basic_scan_context<char>, (scn::v3::detail::arg_type)5, long long, void>(long long&)
Line
Count
Source
5179
163k
{
5180
163k
    return make_value<Context>(value).ref_value;
5181
163k
}
void* scn::v3::detail::make_arg<(scn::v3::detail::scan_arg_store_kind)0, scn::v3::basic_scan_context<char>, (scn::v3::detail::arg_type)10, unsigned long long, void>(unsigned long long&)
Line
Count
Source
5179
133k
{
5180
133k
    return make_value<Context>(value).ref_value;
5181
133k
}
void* scn::v3::detail::make_arg<(scn::v3::detail::scan_arg_store_kind)0, scn::v3::basic_scan_context<wchar_t>, (scn::v3::detail::arg_type)1, signed char, void>(signed char&)
Line
Count
Source
5179
57.3k
{
5180
57.3k
    return make_value<Context>(value).ref_value;
5181
57.3k
}
void* scn::v3::detail::make_arg<(scn::v3::detail::scan_arg_store_kind)0, scn::v3::basic_scan_context<wchar_t>, (scn::v3::detail::arg_type)6, unsigned char, void>(unsigned char&)
Line
Count
Source
5179
57.2k
{
5180
57.2k
    return make_value<Context>(value).ref_value;
5181
57.2k
}
void* scn::v3::detail::make_arg<(scn::v3::detail::scan_arg_store_kind)0, scn::v3::basic_scan_context<wchar_t>, (scn::v3::detail::arg_type)3, int, void>(int&)
Line
Count
Source
5179
79.9k
{
5180
79.9k
    return make_value<Context>(value).ref_value;
5181
79.9k
}
void* scn::v3::detail::make_arg<(scn::v3::detail::scan_arg_store_kind)0, scn::v3::basic_scan_context<wchar_t>, (scn::v3::detail::arg_type)8, unsigned int, void>(unsigned int&)
Line
Count
Source
5179
79.7k
{
5180
79.7k
    return make_value<Context>(value).ref_value;
5181
79.7k
}
void* scn::v3::detail::make_arg<(scn::v3::detail::scan_arg_store_kind)0, scn::v3::basic_scan_context<wchar_t>, (scn::v3::detail::arg_type)5, long long, void>(long long&)
Line
Count
Source
5179
57.8k
{
5180
57.8k
    return make_value<Context>(value).ref_value;
5181
57.8k
}
void* scn::v3::detail::make_arg<(scn::v3::detail::scan_arg_store_kind)0, scn::v3::basic_scan_context<wchar_t>, (scn::v3::detail::arg_type)10, unsigned long long, void>(unsigned long long&)
Line
Count
Source
5179
57.5k
{
5180
57.5k
    return make_value<Context>(value).ref_value;
5181
57.5k
}
void* scn::v3::detail::make_arg<(scn::v3::detail::scan_arg_store_kind)0, scn::v3::basic_scan_context<char>, (scn::v3::detail::arg_type)16, float, void>(float&)
Line
Count
Source
5179
654k
{
5180
654k
    return make_value<Context>(value).ref_value;
5181
654k
}
void* scn::v3::detail::make_arg<(scn::v3::detail::scan_arg_store_kind)0, scn::v3::basic_scan_context<char>, (scn::v3::detail::arg_type)17, double, void>(double&)
Line
Count
Source
5179
688k
{
5180
688k
    return make_value<Context>(value).ref_value;
5181
688k
}
void* scn::v3::detail::make_arg<(scn::v3::detail::scan_arg_store_kind)0, scn::v3::basic_scan_context<char>, (scn::v3::detail::arg_type)18, long double, void>(long double&)
Line
Count
Source
5179
689k
{
5180
689k
    return make_value<Context>(value).ref_value;
5181
689k
}
void* scn::v3::detail::make_arg<(scn::v3::detail::scan_arg_store_kind)0, scn::v3::basic_scan_context<wchar_t>, (scn::v3::detail::arg_type)16, float, void>(float&)
Line
Count
Source
5179
316k
{
5180
316k
    return make_value<Context>(value).ref_value;
5181
316k
}
void* scn::v3::detail::make_arg<(scn::v3::detail::scan_arg_store_kind)0, scn::v3::basic_scan_context<wchar_t>, (scn::v3::detail::arg_type)17, double, void>(double&)
Line
Count
Source
5179
373k
{
5180
373k
    return make_value<Context>(value).ref_value;
5181
373k
}
void* scn::v3::detail::make_arg<(scn::v3::detail::scan_arg_store_kind)0, scn::v3::basic_scan_context<wchar_t>, (scn::v3::detail::arg_type)18, long double, void>(long double&)
Line
Count
Source
5179
356k
{
5180
356k
    return make_value<Context>(value).ref_value;
5181
356k
}
void* scn::v3::detail::make_arg<(scn::v3::detail::scan_arg_store_kind)0, scn::v3::basic_scan_context<char>, (scn::v3::detail::arg_type)12, char, void>(char&)
Line
Count
Source
5179
11.1k
{
5180
11.1k
    return make_value<Context>(value).ref_value;
5181
11.1k
}
void* scn::v3::detail::make_arg<(scn::v3::detail::scan_arg_store_kind)0, scn::v3::basic_scan_context<char>, (scn::v3::detail::arg_type)11, bool, void>(bool&)
Line
Count
Source
5179
11.1k
{
5180
11.1k
    return make_value<Context>(value).ref_value;
5181
11.1k
}
void* scn::v3::detail::make_arg<(scn::v3::detail::scan_arg_store_kind)0, scn::v3::basic_scan_context<char>, (scn::v3::detail::arg_type)15, void*, void>(void*&)
Line
Count
Source
5179
11.1k
{
5180
11.1k
    return make_value<Context>(value).ref_value;
5181
11.1k
}
void* scn::v3::detail::make_arg<(scn::v3::detail::scan_arg_store_kind)0, scn::v3::basic_scan_context<char>, (scn::v3::detail::arg_type)21, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, void>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
5179
235k
{
5180
235k
    return make_value<Context>(value).ref_value;
5181
235k
}
void* scn::v3::detail::make_arg<(scn::v3::detail::scan_arg_store_kind)0, scn::v3::basic_scan_context<char>, (scn::v3::detail::arg_type)22, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, void>(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
5179
11.1k
{
5180
11.1k
    return make_value<Context>(value).ref_value;
5181
11.1k
}
void* scn::v3::detail::make_arg<(scn::v3::detail::scan_arg_store_kind)0, scn::v3::basic_scan_context<char>, (scn::v3::detail::arg_type)19, std::__1::basic_string_view<char, std::__1::char_traits<char> >, void>(std::__1::basic_string_view<char, std::__1::char_traits<char> >&)
Line
Count
Source
5179
111k
{
5180
111k
    return make_value<Context>(value).ref_value;
5181
111k
}
void* scn::v3::detail::make_arg<(scn::v3::detail::scan_arg_store_kind)0, scn::v3::basic_scan_context<wchar_t>, (scn::v3::detail::arg_type)13, wchar_t, void>(wchar_t&)
Line
Count
Source
5179
22.3k
{
5180
22.3k
    return make_value<Context>(value).ref_value;
5181
22.3k
}
void* scn::v3::detail::make_arg<(scn::v3::detail::scan_arg_store_kind)0, scn::v3::basic_scan_context<wchar_t>, (scn::v3::detail::arg_type)11, bool, void>(bool&)
Line
Count
Source
5179
22.3k
{
5180
22.3k
    return make_value<Context>(value).ref_value;
5181
22.3k
}
void* scn::v3::detail::make_arg<(scn::v3::detail::scan_arg_store_kind)0, scn::v3::basic_scan_context<wchar_t>, (scn::v3::detail::arg_type)15, void*, void>(void*&)
Line
Count
Source
5179
22.3k
{
5180
22.3k
    return make_value<Context>(value).ref_value;
5181
22.3k
}
void* scn::v3::detail::make_arg<(scn::v3::detail::scan_arg_store_kind)0, scn::v3::basic_scan_context<wchar_t>, (scn::v3::detail::arg_type)21, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, void>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
5179
22.3k
{
5180
22.3k
    return make_value<Context>(value).ref_value;
5181
22.3k
}
void* scn::v3::detail::make_arg<(scn::v3::detail::scan_arg_store_kind)0, scn::v3::basic_scan_context<wchar_t>, (scn::v3::detail::arg_type)22, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, void>(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
5179
1.40M
{
5180
1.40M
    return make_value<Context>(value).ref_value;
5181
1.40M
}
void* scn::v3::detail::make_arg<(scn::v3::detail::scan_arg_store_kind)0, scn::v3::basic_scan_context<wchar_t>, (scn::v3::detail::arg_type)20, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, void>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&)
Line
Count
Source
5179
714k
{
5180
714k
    return make_value<Context>(value).ref_value;
5181
714k
}
5182
template <scan_arg_store_kind Kind,
5183
          typename Context,
5184
          arg_type,
5185
          typename T,
5186
          typename = std::enable_if_t<Kind == scan_arg_store_kind::packed>>
5187
constexpr arg_value make_arg(T& value)
5188
{
5189
    return make_value<Context>(value);
5190
}
5191
template <scan_arg_store_kind Kind,
5192
          typename Context,
5193
          arg_type,
5194
          typename T,
5195
          typename = std::enable_if_t<Kind == scan_arg_store_kind::unpacked>>
5196
constexpr basic_scan_arg<Context> make_arg(T&& value)
5197
{
5198
    return make_arg<Context>(SCN_FWD(value));
5199
}
5200
5201
template <typename Context>
5202
constexpr arg_value& get_arg_value(basic_scan_arg<Context>& arg);
5203
}  // namespace detail
5204
5205
template <typename Visitor, typename Ctx>
5206
constexpr decltype(auto) visit_scan_arg(Visitor&& vis,
5207
                                        basic_scan_arg<Ctx>& arg);
5208
5209
/**
5210
 * Type-erased scanning argument.
5211
 *
5212
 * Contains a pointer to the value contained in a `scan_arg_store`.
5213
 */
5214
template <typename Context>
5215
class basic_scan_arg {
5216
public:
5217
    /**
5218
     * Enables scanning of a user-defined type.
5219
     *
5220
     * Contains a pointer to the value contained in a `scan_arg_store`, and
5221
     * a callback for parsing the format string, and scanning the value.
5222
     *
5223
     * \see scn::visit_scan_arg
5224
     */
5225
    class handle {
5226
    public:
5227
        /**
5228
         * Parse the format string in `parse_ctx`, and scan the value from
5229
         * `ctx`.
5230
         *
5231
         * \return Any error returned by the scanner
5232
         */
5233
        scan_error scan(typename Context::parse_context_type& parse_ctx,
5234
                        Context& ctx) const
5235
0
        {
5236
0
            return m_custom.scan(m_custom.value, &parse_ctx, &ctx);
5237
0
        }
Unexecuted instantiation: scn::v3::basic_scan_arg<scn::v3::basic_scan_context<char> >::handle::scan(scn::v3::basic_scan_parse_context<char>&, scn::v3::basic_scan_context<char>&) const
Unexecuted instantiation: scn::v3::basic_scan_arg<scn::v3::basic_scan_context<wchar_t> >::handle::scan(scn::v3::basic_scan_parse_context<wchar_t>&, scn::v3::basic_scan_context<wchar_t>&) const
5238
5239
    private:
5240
0
        explicit handle(detail::custom_value_type custom) : m_custom(custom) {}
Unexecuted instantiation: scn::v3::basic_scan_arg<scn::v3::basic_scan_context<char> >::handle::handle(scn::v3::detail::custom_value_type)
Unexecuted instantiation: scn::v3::basic_scan_arg<scn::v3::basic_scan_context<wchar_t> >::handle::handle(scn::v3::detail::custom_value_type)
5241
5242
        template <typename Visitor, typename C>
5243
        friend constexpr decltype(auto) visit_scan_arg(Visitor&& vis,
5244
                                                       basic_scan_arg<C>& arg);
5245
5246
        detail::custom_value_type m_custom;
5247
    };
5248
5249
    /// Construct a `basic_scan_arg` which doesn't contain an argument.
5250
7.71M
    constexpr basic_scan_arg() = default;
scn::v3::basic_scan_arg<scn::v3::basic_scan_context<char> >::basic_scan_arg()
Line
Count
Source
5250
3.61M
    constexpr basic_scan_arg() = default;
scn::v3::basic_scan_arg<scn::v3::basic_scan_context<wchar_t> >::basic_scan_arg()
Line
Count
Source
5250
4.10M
    constexpr basic_scan_arg() = default;
5251
5252
    /**
5253
     * @return `true` if `*this` contains an argument
5254
     */
5255
    constexpr explicit operator bool() const noexcept
5256
12.3M
    {
5257
12.3M
        return m_type != detail::arg_type::none_type;
5258
12.3M
    }
scn::v3::basic_scan_arg<scn::v3::basic_scan_context<char> >::operator bool() const
Line
Count
Source
5256
6.09M
    {
5257
6.09M
        return m_type != detail::arg_type::none_type;
5258
6.09M
    }
scn::v3::basic_scan_arg<scn::v3::basic_scan_context<wchar_t> >::operator bool() const
Line
Count
Source
5256
6.20M
    {
5257
6.20M
        return m_type != detail::arg_type::none_type;
5258
6.20M
    }
5259
5260
    SCN_NODISCARD constexpr detail::arg_type type() const
5261
9.54M
    {
5262
9.54M
        return m_type;
5263
9.54M
    }
scn::v3::basic_scan_arg<scn::v3::basic_scan_context<char> >::type() const
Line
Count
Source
5261
5.09M
    {
5262
5.09M
        return m_type;
5263
5.09M
    }
scn::v3::basic_scan_arg<scn::v3::basic_scan_context<wchar_t> >::type() const
Line
Count
Source
5261
4.45M
    {
5262
4.45M
        return m_type;
5263
4.45M
    }
5264
5265
    SCN_NODISCARD constexpr detail::arg_value& value()
5266
    {
5267
        return m_value;
5268
    }
5269
    SCN_NODISCARD constexpr const detail::arg_value& value() const
5270
    {
5271
        return m_value;
5272
    }
5273
5274
private:
5275
    template <typename ContextType, typename T>
5276
    friend constexpr basic_scan_arg<ContextType> detail::make_arg(T& value);
5277
5278
    template <typename C>
5279
    friend constexpr detail::arg_value& detail::get_arg_value(
5280
        basic_scan_arg<C>& arg);
5281
5282
    template <typename Visitor, typename C>
5283
    friend constexpr decltype(auto) visit_scan_arg(Visitor&& vis,
5284
                                                   basic_scan_arg<C>& arg);
5285
5286
    friend class basic_scan_args<Context>;
5287
5288
    detail::arg_value m_value{};
5289
    detail::arg_type m_type{detail::arg_type::none_type};
5290
};
5291
5292
namespace detail {
5293
template <typename Context>
5294
constexpr arg_value& get_arg_value(basic_scan_arg<Context>& arg)
5295
{
5296
    return arg.m_value;
5297
}
5298
5299
template <typename CharT>
5300
constexpr bool all_types_builtin()
5301
0
{
5302
0
    return true;
5303
0
}
Unexecuted instantiation: bool scn::v3::detail::all_types_builtin<char>()
Unexecuted instantiation: bool scn::v3::detail::all_types_builtin<wchar_t>()
5304
template <typename CharT, typename T, typename... Args>
5305
constexpr bool all_types_builtin()
5306
0
{
5307
0
    return mapped_type_constant<T, CharT>::value != arg_type::custom_type &&
5308
0
           all_types_builtin<CharT, Args...>();
5309
0
}
Unexecuted instantiation: bool scn::v3::detail::all_types_builtin<char, signed char>()
Unexecuted instantiation: bool scn::v3::detail::all_types_builtin<char, unsigned char>()
Unexecuted instantiation: bool scn::v3::detail::all_types_builtin<char, int>()
Unexecuted instantiation: bool scn::v3::detail::all_types_builtin<char, unsigned int>()
Unexecuted instantiation: bool scn::v3::detail::all_types_builtin<char, long long>()
Unexecuted instantiation: bool scn::v3::detail::all_types_builtin<char, unsigned long long>()
Unexecuted instantiation: bool scn::v3::detail::all_types_builtin<wchar_t, signed char>()
Unexecuted instantiation: bool scn::v3::detail::all_types_builtin<wchar_t, unsigned char>()
Unexecuted instantiation: bool scn::v3::detail::all_types_builtin<wchar_t, int>()
Unexecuted instantiation: bool scn::v3::detail::all_types_builtin<wchar_t, unsigned int>()
Unexecuted instantiation: bool scn::v3::detail::all_types_builtin<wchar_t, long long>()
Unexecuted instantiation: bool scn::v3::detail::all_types_builtin<wchar_t, unsigned long long>()
Unexecuted instantiation: bool scn::v3::detail::all_types_builtin<char, float>()
Unexecuted instantiation: bool scn::v3::detail::all_types_builtin<char, double>()
Unexecuted instantiation: bool scn::v3::detail::all_types_builtin<char, long double>()
Unexecuted instantiation: bool scn::v3::detail::all_types_builtin<wchar_t, float>()
Unexecuted instantiation: bool scn::v3::detail::all_types_builtin<wchar_t, double>()
Unexecuted instantiation: bool scn::v3::detail::all_types_builtin<wchar_t, long double>()
Unexecuted instantiation: bool scn::v3::detail::all_types_builtin<char, char>()
Unexecuted instantiation: bool scn::v3::detail::all_types_builtin<char, bool>()
Unexecuted instantiation: bool scn::v3::detail::all_types_builtin<char, void*>()
Unexecuted instantiation: bool scn::v3::detail::all_types_builtin<char, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >>()
Unexecuted instantiation: bool scn::v3::detail::all_types_builtin<char, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >>()
Unexecuted instantiation: bool scn::v3::detail::all_types_builtin<char, std::__1::basic_string_view<char, std::__1::char_traits<char> >>()
Unexecuted instantiation: bool scn::v3::detail::all_types_builtin<wchar_t, wchar_t>()
Unexecuted instantiation: bool scn::v3::detail::all_types_builtin<wchar_t, bool>()
Unexecuted instantiation: bool scn::v3::detail::all_types_builtin<wchar_t, void*>()
Unexecuted instantiation: bool scn::v3::detail::all_types_builtin<wchar_t, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >>()
Unexecuted instantiation: bool scn::v3::detail::all_types_builtin<wchar_t, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >>()
Unexecuted instantiation: bool scn::v3::detail::all_types_builtin<wchar_t, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >>()
5310
5311
template <typename CharT, typename... Args>
5312
constexpr scan_arg_store_kind determine_arg_store_kind()
5313
0
{
5314
0
    if (sizeof...(Args) > max_packed_args) {
5315
0
        return scan_arg_store_kind::unpacked;
5316
0
    }
5317
0
#if !(SCN_CLANG && SCN_APPLE)
5318
0
    // This doesn't work on Apple Clang. I don't know why
5319
0
    if (all_types_builtin<CharT, Args...>()) {
5320
0
        return scan_arg_store_kind::builtin;
5321
0
    }
5322
0
#endif
5323
0
    return scan_arg_store_kind::packed;
5324
0
}
Unexecuted instantiation: scn::v3::detail::scan_arg_store_kind scn::v3::detail::determine_arg_store_kind<char, signed char>()
Unexecuted instantiation: scn::v3::detail::scan_arg_store_kind scn::v3::detail::determine_arg_store_kind<char, unsigned char>()
Unexecuted instantiation: scn::v3::detail::scan_arg_store_kind scn::v3::detail::determine_arg_store_kind<char, int>()
Unexecuted instantiation: scn::v3::detail::scan_arg_store_kind scn::v3::detail::determine_arg_store_kind<char, unsigned int>()
Unexecuted instantiation: scn::v3::detail::scan_arg_store_kind scn::v3::detail::determine_arg_store_kind<char, long long>()
Unexecuted instantiation: scn::v3::detail::scan_arg_store_kind scn::v3::detail::determine_arg_store_kind<char, unsigned long long>()
Unexecuted instantiation: scn::v3::detail::scan_arg_store_kind scn::v3::detail::determine_arg_store_kind<wchar_t, signed char>()
Unexecuted instantiation: scn::v3::detail::scan_arg_store_kind scn::v3::detail::determine_arg_store_kind<wchar_t, unsigned char>()
Unexecuted instantiation: scn::v3::detail::scan_arg_store_kind scn::v3::detail::determine_arg_store_kind<wchar_t, int>()
Unexecuted instantiation: scn::v3::detail::scan_arg_store_kind scn::v3::detail::determine_arg_store_kind<wchar_t, unsigned int>()
Unexecuted instantiation: scn::v3::detail::scan_arg_store_kind scn::v3::detail::determine_arg_store_kind<wchar_t, long long>()
Unexecuted instantiation: scn::v3::detail::scan_arg_store_kind scn::v3::detail::determine_arg_store_kind<wchar_t, unsigned long long>()
Unexecuted instantiation: scn::v3::detail::scan_arg_store_kind scn::v3::detail::determine_arg_store_kind<char, float>()
Unexecuted instantiation: scn::v3::detail::scan_arg_store_kind scn::v3::detail::determine_arg_store_kind<char, double>()
Unexecuted instantiation: scn::v3::detail::scan_arg_store_kind scn::v3::detail::determine_arg_store_kind<char, long double>()
Unexecuted instantiation: scn::v3::detail::scan_arg_store_kind scn::v3::detail::determine_arg_store_kind<wchar_t, float>()
Unexecuted instantiation: scn::v3::detail::scan_arg_store_kind scn::v3::detail::determine_arg_store_kind<wchar_t, double>()
Unexecuted instantiation: scn::v3::detail::scan_arg_store_kind scn::v3::detail::determine_arg_store_kind<wchar_t, long double>()
Unexecuted instantiation: scn::v3::detail::scan_arg_store_kind scn::v3::detail::determine_arg_store_kind<char, char>()
Unexecuted instantiation: scn::v3::detail::scan_arg_store_kind scn::v3::detail::determine_arg_store_kind<char, bool>()
Unexecuted instantiation: scn::v3::detail::scan_arg_store_kind scn::v3::detail::determine_arg_store_kind<char, void*>()
Unexecuted instantiation: scn::v3::detail::scan_arg_store_kind scn::v3::detail::determine_arg_store_kind<char, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >()
Unexecuted instantiation: scn::v3::detail::scan_arg_store_kind scn::v3::detail::determine_arg_store_kind<char, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >()
Unexecuted instantiation: scn::v3::detail::scan_arg_store_kind scn::v3::detail::determine_arg_store_kind<char, std::__1::basic_string_view<char, std::__1::char_traits<char> > >()
Unexecuted instantiation: scn::v3::detail::scan_arg_store_kind scn::v3::detail::determine_arg_store_kind<wchar_t, wchar_t>()
Unexecuted instantiation: scn::v3::detail::scan_arg_store_kind scn::v3::detail::determine_arg_store_kind<wchar_t, bool>()
Unexecuted instantiation: scn::v3::detail::scan_arg_store_kind scn::v3::detail::determine_arg_store_kind<wchar_t, void*>()
Unexecuted instantiation: scn::v3::detail::scan_arg_store_kind scn::v3::detail::determine_arg_store_kind<wchar_t, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >()
Unexecuted instantiation: scn::v3::detail::scan_arg_store_kind scn::v3::detail::determine_arg_store_kind<wchar_t, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >()
Unexecuted instantiation: scn::v3::detail::scan_arg_store_kind scn::v3::detail::determine_arg_store_kind<wchar_t, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >()
5325
5326
template <scan_arg_store_kind Kind, typename CharT, typename... Args>
5327
constexpr size_t compute_arg_store_desc()
5328
0
{
5329
0
    if constexpr (Kind == scan_arg_store_kind::builtin) {
5330
0
        return encode_types<CharT, Args...>();
5331
0
    }
5332
0
    else if constexpr (Kind == scan_arg_store_kind::packed) {
5333
0
        return encode_types<CharT, Args...>() | has_custom_types_bit;
5334
0
    }
5335
0
    else {
5336
0
        return sizeof...(Args) | is_unpacked_bit;
5337
0
    }
5338
0
}
Unexecuted instantiation: unsigned long scn::v3::detail::compute_arg_store_desc<(scn::v3::detail::scan_arg_store_kind)0, char, signed char>()
Unexecuted instantiation: unsigned long scn::v3::detail::compute_arg_store_desc<(scn::v3::detail::scan_arg_store_kind)0, char, unsigned char>()
Unexecuted instantiation: unsigned long scn::v3::detail::compute_arg_store_desc<(scn::v3::detail::scan_arg_store_kind)0, char, int>()
Unexecuted instantiation: unsigned long scn::v3::detail::compute_arg_store_desc<(scn::v3::detail::scan_arg_store_kind)0, char, unsigned int>()
Unexecuted instantiation: unsigned long scn::v3::detail::compute_arg_store_desc<(scn::v3::detail::scan_arg_store_kind)0, char, long long>()
Unexecuted instantiation: unsigned long scn::v3::detail::compute_arg_store_desc<(scn::v3::detail::scan_arg_store_kind)0, char, unsigned long long>()
Unexecuted instantiation: unsigned long scn::v3::detail::compute_arg_store_desc<(scn::v3::detail::scan_arg_store_kind)0, wchar_t, signed char>()
Unexecuted instantiation: unsigned long scn::v3::detail::compute_arg_store_desc<(scn::v3::detail::scan_arg_store_kind)0, wchar_t, unsigned char>()
Unexecuted instantiation: unsigned long scn::v3::detail::compute_arg_store_desc<(scn::v3::detail::scan_arg_store_kind)0, wchar_t, int>()
Unexecuted instantiation: unsigned long scn::v3::detail::compute_arg_store_desc<(scn::v3::detail::scan_arg_store_kind)0, wchar_t, unsigned int>()
Unexecuted instantiation: unsigned long scn::v3::detail::compute_arg_store_desc<(scn::v3::detail::scan_arg_store_kind)0, wchar_t, long long>()
Unexecuted instantiation: unsigned long scn::v3::detail::compute_arg_store_desc<(scn::v3::detail::scan_arg_store_kind)0, wchar_t, unsigned long long>()
Unexecuted instantiation: unsigned long scn::v3::detail::compute_arg_store_desc<(scn::v3::detail::scan_arg_store_kind)0, char, float>()
Unexecuted instantiation: unsigned long scn::v3::detail::compute_arg_store_desc<(scn::v3::detail::scan_arg_store_kind)0, char, double>()
Unexecuted instantiation: unsigned long scn::v3::detail::compute_arg_store_desc<(scn::v3::detail::scan_arg_store_kind)0, char, long double>()
Unexecuted instantiation: unsigned long scn::v3::detail::compute_arg_store_desc<(scn::v3::detail::scan_arg_store_kind)0, wchar_t, float>()
Unexecuted instantiation: unsigned long scn::v3::detail::compute_arg_store_desc<(scn::v3::detail::scan_arg_store_kind)0, wchar_t, double>()
Unexecuted instantiation: unsigned long scn::v3::detail::compute_arg_store_desc<(scn::v3::detail::scan_arg_store_kind)0, wchar_t, long double>()
Unexecuted instantiation: unsigned long scn::v3::detail::compute_arg_store_desc<(scn::v3::detail::scan_arg_store_kind)0, char, char>()
Unexecuted instantiation: unsigned long scn::v3::detail::compute_arg_store_desc<(scn::v3::detail::scan_arg_store_kind)0, char, bool>()
Unexecuted instantiation: unsigned long scn::v3::detail::compute_arg_store_desc<(scn::v3::detail::scan_arg_store_kind)0, char, void*>()
Unexecuted instantiation: unsigned long scn::v3::detail::compute_arg_store_desc<(scn::v3::detail::scan_arg_store_kind)0, char, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >()
Unexecuted instantiation: unsigned long scn::v3::detail::compute_arg_store_desc<(scn::v3::detail::scan_arg_store_kind)0, char, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >()
Unexecuted instantiation: unsigned long scn::v3::detail::compute_arg_store_desc<(scn::v3::detail::scan_arg_store_kind)0, char, std::__1::basic_string_view<char, std::__1::char_traits<char> > >()
Unexecuted instantiation: unsigned long scn::v3::detail::compute_arg_store_desc<(scn::v3::detail::scan_arg_store_kind)0, wchar_t, wchar_t>()
Unexecuted instantiation: unsigned long scn::v3::detail::compute_arg_store_desc<(scn::v3::detail::scan_arg_store_kind)0, wchar_t, bool>()
Unexecuted instantiation: unsigned long scn::v3::detail::compute_arg_store_desc<(scn::v3::detail::scan_arg_store_kind)0, wchar_t, void*>()
Unexecuted instantiation: unsigned long scn::v3::detail::compute_arg_store_desc<(scn::v3::detail::scan_arg_store_kind)0, wchar_t, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >()
Unexecuted instantiation: unsigned long scn::v3::detail::compute_arg_store_desc<(scn::v3::detail::scan_arg_store_kind)0, wchar_t, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >()
Unexecuted instantiation: unsigned long scn::v3::detail::compute_arg_store_desc<(scn::v3::detail::scan_arg_store_kind)0, wchar_t, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >()
5339
5340
template <typename Context, typename... Args>
5341
class scan_arg_store {
5342
public:
5343
    static constexpr scan_arg_store_kind kind =
5344
        determine_arg_store_kind<typename Context::char_type, Args...>();
5345
    static constexpr size_t desc =
5346
        compute_arg_store_desc<kind, typename Context::char_type, Args...>();
5347
5348
    using argptr_type = std::conditional_t<
5349
        kind == scan_arg_store_kind::builtin,
5350
        void*,
5351
        std::conditional_t<kind == scan_arg_store_kind::packed,
5352
                           arg_value,
5353
                           basic_scan_arg<Context>>>;
5354
    using argptrs_type = std::array<argptr_type, sizeof...(Args)>;
5355
5356
    constexpr scan_arg_store()
5357
6.94M
        : m_argptrs(std::apply(make_argptrs<Args...>, m_args))
5358
6.94M
    {
5359
6.94M
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, signed char>::scan_arg_store()
Line
Count
Source
5357
138k
        : m_argptrs(std::apply(make_argptrs<Args...>, m_args))
5358
138k
    {
5359
138k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, unsigned char>::scan_arg_store()
Line
Count
Source
5357
121k
        : m_argptrs(std::apply(make_argptrs<Args...>, m_args))
5358
121k
    {
5359
121k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, int>::scan_arg_store()
Line
Count
Source
5357
172k
        : m_argptrs(std::apply(make_argptrs<Args...>, m_args))
5358
172k
    {
5359
172k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, unsigned int>::scan_arg_store()
Line
Count
Source
5357
143k
        : m_argptrs(std::apply(make_argptrs<Args...>, m_args))
5358
143k
    {
5359
143k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, long long>::scan_arg_store()
Line
Count
Source
5357
163k
        : m_argptrs(std::apply(make_argptrs<Args...>, m_args))
5358
163k
    {
5359
163k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, unsigned long long>::scan_arg_store()
Line
Count
Source
5357
133k
        : m_argptrs(std::apply(make_argptrs<Args...>, m_args))
5358
133k
    {
5359
133k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, signed char>::scan_arg_store()
Line
Count
Source
5357
57.3k
        : m_argptrs(std::apply(make_argptrs<Args...>, m_args))
5358
57.3k
    {
5359
57.3k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, unsigned char>::scan_arg_store()
Line
Count
Source
5357
57.2k
        : m_argptrs(std::apply(make_argptrs<Args...>, m_args))
5358
57.2k
    {
5359
57.2k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, int>::scan_arg_store()
Line
Count
Source
5357
79.9k
        : m_argptrs(std::apply(make_argptrs<Args...>, m_args))
5358
79.9k
    {
5359
79.9k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, unsigned int>::scan_arg_store()
Line
Count
Source
5357
79.7k
        : m_argptrs(std::apply(make_argptrs<Args...>, m_args))
5358
79.7k
    {
5359
79.7k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, long long>::scan_arg_store()
Line
Count
Source
5357
57.8k
        : m_argptrs(std::apply(make_argptrs<Args...>, m_args))
5358
57.8k
    {
5359
57.8k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, unsigned long long>::scan_arg_store()
Line
Count
Source
5357
57.5k
        : m_argptrs(std::apply(make_argptrs<Args...>, m_args))
5358
57.5k
    {
5359
57.5k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, float>::scan_arg_store()
Line
Count
Source
5357
654k
        : m_argptrs(std::apply(make_argptrs<Args...>, m_args))
5358
654k
    {
5359
654k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, double>::scan_arg_store()
Line
Count
Source
5357
688k
        : m_argptrs(std::apply(make_argptrs<Args...>, m_args))
5358
688k
    {
5359
688k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, long double>::scan_arg_store()
Line
Count
Source
5357
689k
        : m_argptrs(std::apply(make_argptrs<Args...>, m_args))
5358
689k
    {
5359
689k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, float>::scan_arg_store()
Line
Count
Source
5357
316k
        : m_argptrs(std::apply(make_argptrs<Args...>, m_args))
5358
316k
    {
5359
316k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, double>::scan_arg_store()
Line
Count
Source
5357
373k
        : m_argptrs(std::apply(make_argptrs<Args...>, m_args))
5358
373k
    {
5359
373k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, long double>::scan_arg_store()
Line
Count
Source
5357
356k
        : m_argptrs(std::apply(make_argptrs<Args...>, m_args))
5358
356k
    {
5359
356k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, char>::scan_arg_store()
Line
Count
Source
5357
11.1k
        : m_argptrs(std::apply(make_argptrs<Args...>, m_args))
5358
11.1k
    {
5359
11.1k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, bool>::scan_arg_store()
Line
Count
Source
5357
11.1k
        : m_argptrs(std::apply(make_argptrs<Args...>, m_args))
5358
11.1k
    {
5359
11.1k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, void*>::scan_arg_store()
Line
Count
Source
5357
11.1k
        : m_argptrs(std::apply(make_argptrs<Args...>, m_args))
5358
11.1k
    {
5359
11.1k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::scan_arg_store()
Line
Count
Source
5357
235k
        : m_argptrs(std::apply(make_argptrs<Args...>, m_args))
5358
235k
    {
5359
235k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::scan_arg_store()
Line
Count
Source
5357
11.1k
        : m_argptrs(std::apply(make_argptrs<Args...>, m_args))
5358
11.1k
    {
5359
11.1k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >::scan_arg_store()
Line
Count
Source
5357
111k
        : m_argptrs(std::apply(make_argptrs<Args...>, m_args))
5358
111k
    {
5359
111k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, wchar_t>::scan_arg_store()
Line
Count
Source
5357
22.3k
        : m_argptrs(std::apply(make_argptrs<Args...>, m_args))
5358
22.3k
    {
5359
22.3k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, bool>::scan_arg_store()
Line
Count
Source
5357
22.3k
        : m_argptrs(std::apply(make_argptrs<Args...>, m_args))
5358
22.3k
    {
5359
22.3k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, void*>::scan_arg_store()
Line
Count
Source
5357
22.3k
        : m_argptrs(std::apply(make_argptrs<Args...>, m_args))
5358
22.3k
    {
5359
22.3k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::scan_arg_store()
Line
Count
Source
5357
22.3k
        : m_argptrs(std::apply(make_argptrs<Args...>, m_args))
5358
22.3k
    {
5359
22.3k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::scan_arg_store()
Line
Count
Source
5357
1.40M
        : m_argptrs(std::apply(make_argptrs<Args...>, m_args))
5358
1.40M
    {
5359
1.40M
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::scan_arg_store()
Line
Count
Source
5357
714k
        : m_argptrs(std::apply(make_argptrs<Args...>, m_args))
5358
714k
    {
5359
714k
    }
5360
5361
    constexpr explicit scan_arg_store(std::tuple<Args...>&& a)
5362
        : m_args(std::move(a)),
5363
          m_argptrs(std::apply(make_argptrs<Args...>, m_args))
5364
    {
5365
    }
5366
5367
    template <typename... A>
5368
    static constexpr argptrs_type make_argptrs(A&... args)
5369
6.94M
    {
5370
6.94M
        return {detail::make_arg<
5371
6.94M
            kind, Context,
5372
6.94M
            mapped_type_constant<remove_cvref_t<A>,
5373
6.94M
                                 typename Context::char_type>::value>(args)...};
5374
6.94M
    }
std::__1::array<void*, 1ul> scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, signed char>::make_argptrs<signed char>(signed char&)
Line
Count
Source
5369
138k
    {
5370
138k
        return {detail::make_arg<
5371
138k
            kind, Context,
5372
138k
            mapped_type_constant<remove_cvref_t<A>,
5373
138k
                                 typename Context::char_type>::value>(args)...};
5374
138k
    }
std::__1::array<void*, 1ul> scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, unsigned char>::make_argptrs<unsigned char>(unsigned char&)
Line
Count
Source
5369
121k
    {
5370
121k
        return {detail::make_arg<
5371
121k
            kind, Context,
5372
121k
            mapped_type_constant<remove_cvref_t<A>,
5373
121k
                                 typename Context::char_type>::value>(args)...};
5374
121k
    }
std::__1::array<void*, 1ul> scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, int>::make_argptrs<int>(int&)
Line
Count
Source
5369
172k
    {
5370
172k
        return {detail::make_arg<
5371
172k
            kind, Context,
5372
172k
            mapped_type_constant<remove_cvref_t<A>,
5373
172k
                                 typename Context::char_type>::value>(args)...};
5374
172k
    }
std::__1::array<void*, 1ul> scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, unsigned int>::make_argptrs<unsigned int>(unsigned int&)
Line
Count
Source
5369
143k
    {
5370
143k
        return {detail::make_arg<
5371
143k
            kind, Context,
5372
143k
            mapped_type_constant<remove_cvref_t<A>,
5373
143k
                                 typename Context::char_type>::value>(args)...};
5374
143k
    }
std::__1::array<void*, 1ul> scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, long long>::make_argptrs<long long>(long long&)
Line
Count
Source
5369
163k
    {
5370
163k
        return {detail::make_arg<
5371
163k
            kind, Context,
5372
163k
            mapped_type_constant<remove_cvref_t<A>,
5373
163k
                                 typename Context::char_type>::value>(args)...};
5374
163k
    }
std::__1::array<void*, 1ul> scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, unsigned long long>::make_argptrs<unsigned long long>(unsigned long long&)
Line
Count
Source
5369
133k
    {
5370
133k
        return {detail::make_arg<
5371
133k
            kind, Context,
5372
133k
            mapped_type_constant<remove_cvref_t<A>,
5373
133k
                                 typename Context::char_type>::value>(args)...};
5374
133k
    }
std::__1::array<void*, 1ul> scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, signed char>::make_argptrs<signed char>(signed char&)
Line
Count
Source
5369
57.3k
    {
5370
57.3k
        return {detail::make_arg<
5371
57.3k
            kind, Context,
5372
57.3k
            mapped_type_constant<remove_cvref_t<A>,
5373
57.3k
                                 typename Context::char_type>::value>(args)...};
5374
57.3k
    }
std::__1::array<void*, 1ul> scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, unsigned char>::make_argptrs<unsigned char>(unsigned char&)
Line
Count
Source
5369
57.2k
    {
5370
57.2k
        return {detail::make_arg<
5371
57.2k
            kind, Context,
5372
57.2k
            mapped_type_constant<remove_cvref_t<A>,
5373
57.2k
                                 typename Context::char_type>::value>(args)...};
5374
57.2k
    }
std::__1::array<void*, 1ul> scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, int>::make_argptrs<int>(int&)
Line
Count
Source
5369
79.9k
    {
5370
79.9k
        return {detail::make_arg<
5371
79.9k
            kind, Context,
5372
79.9k
            mapped_type_constant<remove_cvref_t<A>,
5373
79.9k
                                 typename Context::char_type>::value>(args)...};
5374
79.9k
    }
std::__1::array<void*, 1ul> scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, unsigned int>::make_argptrs<unsigned int>(unsigned int&)
Line
Count
Source
5369
79.7k
    {
5370
79.7k
        return {detail::make_arg<
5371
79.7k
            kind, Context,
5372
79.7k
            mapped_type_constant<remove_cvref_t<A>,
5373
79.7k
                                 typename Context::char_type>::value>(args)...};
5374
79.7k
    }
std::__1::array<void*, 1ul> scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, long long>::make_argptrs<long long>(long long&)
Line
Count
Source
5369
57.8k
    {
5370
57.8k
        return {detail::make_arg<
5371
57.8k
            kind, Context,
5372
57.8k
            mapped_type_constant<remove_cvref_t<A>,
5373
57.8k
                                 typename Context::char_type>::value>(args)...};
5374
57.8k
    }
std::__1::array<void*, 1ul> scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, unsigned long long>::make_argptrs<unsigned long long>(unsigned long long&)
Line
Count
Source
5369
57.5k
    {
5370
57.5k
        return {detail::make_arg<
5371
57.5k
            kind, Context,
5372
57.5k
            mapped_type_constant<remove_cvref_t<A>,
5373
57.5k
                                 typename Context::char_type>::value>(args)...};
5374
57.5k
    }
std::__1::array<void*, 1ul> scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, float>::make_argptrs<float>(float&)
Line
Count
Source
5369
654k
    {
5370
654k
        return {detail::make_arg<
5371
654k
            kind, Context,
5372
654k
            mapped_type_constant<remove_cvref_t<A>,
5373
654k
                                 typename Context::char_type>::value>(args)...};
5374
654k
    }
std::__1::array<void*, 1ul> scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, double>::make_argptrs<double>(double&)
Line
Count
Source
5369
688k
    {
5370
688k
        return {detail::make_arg<
5371
688k
            kind, Context,
5372
688k
            mapped_type_constant<remove_cvref_t<A>,
5373
688k
                                 typename Context::char_type>::value>(args)...};
5374
688k
    }
std::__1::array<void*, 1ul> scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, long double>::make_argptrs<long double>(long double&)
Line
Count
Source
5369
689k
    {
5370
689k
        return {detail::make_arg<
5371
689k
            kind, Context,
5372
689k
            mapped_type_constant<remove_cvref_t<A>,
5373
689k
                                 typename Context::char_type>::value>(args)...};
5374
689k
    }
std::__1::array<void*, 1ul> scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, float>::make_argptrs<float>(float&)
Line
Count
Source
5369
316k
    {
5370
316k
        return {detail::make_arg<
5371
316k
            kind, Context,
5372
316k
            mapped_type_constant<remove_cvref_t<A>,
5373
316k
                                 typename Context::char_type>::value>(args)...};
5374
316k
    }
std::__1::array<void*, 1ul> scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, double>::make_argptrs<double>(double&)
Line
Count
Source
5369
373k
    {
5370
373k
        return {detail::make_arg<
5371
373k
            kind, Context,
5372
373k
            mapped_type_constant<remove_cvref_t<A>,
5373
373k
                                 typename Context::char_type>::value>(args)...};
5374
373k
    }
std::__1::array<void*, 1ul> scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, long double>::make_argptrs<long double>(long double&)
Line
Count
Source
5369
356k
    {
5370
356k
        return {detail::make_arg<
5371
356k
            kind, Context,
5372
356k
            mapped_type_constant<remove_cvref_t<A>,
5373
356k
                                 typename Context::char_type>::value>(args)...};
5374
356k
    }
std::__1::array<void*, 1ul> scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, char>::make_argptrs<char>(char&)
Line
Count
Source
5369
11.1k
    {
5370
11.1k
        return {detail::make_arg<
5371
11.1k
            kind, Context,
5372
11.1k
            mapped_type_constant<remove_cvref_t<A>,
5373
11.1k
                                 typename Context::char_type>::value>(args)...};
5374
11.1k
    }
std::__1::array<void*, 1ul> scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, bool>::make_argptrs<bool>(bool&)
Line
Count
Source
5369
11.1k
    {
5370
11.1k
        return {detail::make_arg<
5371
11.1k
            kind, Context,
5372
11.1k
            mapped_type_constant<remove_cvref_t<A>,
5373
11.1k
                                 typename Context::char_type>::value>(args)...};
5374
11.1k
    }
std::__1::array<void*, 1ul> scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, void*>::make_argptrs<void*>(void*&)
Line
Count
Source
5369
11.1k
    {
5370
11.1k
        return {detail::make_arg<
5371
11.1k
            kind, Context,
5372
11.1k
            mapped_type_constant<remove_cvref_t<A>,
5373
11.1k
                                 typename Context::char_type>::value>(args)...};
5374
11.1k
    }
std::__1::array<void*, 1ul> scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::make_argptrs<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
5369
235k
    {
5370
235k
        return {detail::make_arg<
5371
235k
            kind, Context,
5372
235k
            mapped_type_constant<remove_cvref_t<A>,
5373
235k
                                 typename Context::char_type>::value>(args)...};
5374
235k
    }
std::__1::array<void*, 1ul> scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::make_argptrs<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
5369
11.1k
    {
5370
11.1k
        return {detail::make_arg<
5371
11.1k
            kind, Context,
5372
11.1k
            mapped_type_constant<remove_cvref_t<A>,
5373
11.1k
                                 typename Context::char_type>::value>(args)...};
5374
11.1k
    }
std::__1::array<void*, 1ul> scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >::make_argptrs<std::__1::basic_string_view<char, std::__1::char_traits<char> > >(std::__1::basic_string_view<char, std::__1::char_traits<char> >&)
Line
Count
Source
5369
111k
    {
5370
111k
        return {detail::make_arg<
5371
111k
            kind, Context,
5372
111k
            mapped_type_constant<remove_cvref_t<A>,
5373
111k
                                 typename Context::char_type>::value>(args)...};
5374
111k
    }
std::__1::array<void*, 1ul> scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, wchar_t>::make_argptrs<wchar_t>(wchar_t&)
Line
Count
Source
5369
22.3k
    {
5370
22.3k
        return {detail::make_arg<
5371
22.3k
            kind, Context,
5372
22.3k
            mapped_type_constant<remove_cvref_t<A>,
5373
22.3k
                                 typename Context::char_type>::value>(args)...};
5374
22.3k
    }
std::__1::array<void*, 1ul> scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, bool>::make_argptrs<bool>(bool&)
Line
Count
Source
5369
22.3k
    {
5370
22.3k
        return {detail::make_arg<
5371
22.3k
            kind, Context,
5372
22.3k
            mapped_type_constant<remove_cvref_t<A>,
5373
22.3k
                                 typename Context::char_type>::value>(args)...};
5374
22.3k
    }
std::__1::array<void*, 1ul> scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, void*>::make_argptrs<void*>(void*&)
Line
Count
Source
5369
22.3k
    {
5370
22.3k
        return {detail::make_arg<
5371
22.3k
            kind, Context,
5372
22.3k
            mapped_type_constant<remove_cvref_t<A>,
5373
22.3k
                                 typename Context::char_type>::value>(args)...};
5374
22.3k
    }
std::__1::array<void*, 1ul> scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::make_argptrs<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
5369
22.3k
    {
5370
22.3k
        return {detail::make_arg<
5371
22.3k
            kind, Context,
5372
22.3k
            mapped_type_constant<remove_cvref_t<A>,
5373
22.3k
                                 typename Context::char_type>::value>(args)...};
5374
22.3k
    }
std::__1::array<void*, 1ul> scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::make_argptrs<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
5369
1.40M
    {
5370
1.40M
        return {detail::make_arg<
5371
1.40M
            kind, Context,
5372
1.40M
            mapped_type_constant<remove_cvref_t<A>,
5373
1.40M
                                 typename Context::char_type>::value>(args)...};
5374
1.40M
    }
std::__1::array<void*, 1ul> scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::make_argptrs<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&)
Line
Count
Source
5369
714k
    {
5370
714k
        return {detail::make_arg<
5371
714k
            kind, Context,
5372
714k
            mapped_type_constant<remove_cvref_t<A>,
5373
714k
                                 typename Context::char_type>::value>(args)...};
5374
714k
    }
5375
5376
    scan_arg_store(const scan_arg_store&) = delete;
5377
    scan_arg_store(scan_arg_store&&) = delete;
5378
    scan_arg_store& operator=(const scan_arg_store&) = delete;
5379
    scan_arg_store& operator=(scan_arg_store&&) = delete;
5380
1.67M
    ~scan_arg_store() = default;
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::~scan_arg_store()
Line
Count
Source
5380
235k
    ~scan_arg_store() = default;
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::~scan_arg_store()
Line
Count
Source
5380
11.1k
    ~scan_arg_store() = default;
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::~scan_arg_store()
Line
Count
Source
5380
22.3k
    ~scan_arg_store() = default;
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::~scan_arg_store()
Line
Count
Source
5380
1.40M
    ~scan_arg_store() = default;
5381
5382
    std::tuple<Args...>& args()
5383
6.94M
    {
5384
6.94M
        return m_args;
5385
6.94M
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, signed char>::args()
Line
Count
Source
5383
138k
    {
5384
138k
        return m_args;
5385
138k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, unsigned char>::args()
Line
Count
Source
5383
121k
    {
5384
121k
        return m_args;
5385
121k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, int>::args()
Line
Count
Source
5383
172k
    {
5384
172k
        return m_args;
5385
172k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, unsigned int>::args()
Line
Count
Source
5383
143k
    {
5384
143k
        return m_args;
5385
143k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, long long>::args()
Line
Count
Source
5383
163k
    {
5384
163k
        return m_args;
5385
163k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, unsigned long long>::args()
Line
Count
Source
5383
133k
    {
5384
133k
        return m_args;
5385
133k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, signed char>::args()
Line
Count
Source
5383
57.3k
    {
5384
57.3k
        return m_args;
5385
57.3k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, unsigned char>::args()
Line
Count
Source
5383
57.2k
    {
5384
57.2k
        return m_args;
5385
57.2k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, int>::args()
Line
Count
Source
5383
79.9k
    {
5384
79.9k
        return m_args;
5385
79.9k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, unsigned int>::args()
Line
Count
Source
5383
79.7k
    {
5384
79.7k
        return m_args;
5385
79.7k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, long long>::args()
Line
Count
Source
5383
57.8k
    {
5384
57.8k
        return m_args;
5385
57.8k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, unsigned long long>::args()
Line
Count
Source
5383
57.5k
    {
5384
57.5k
        return m_args;
5385
57.5k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, float>::args()
Line
Count
Source
5383
654k
    {
5384
654k
        return m_args;
5385
654k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, double>::args()
Line
Count
Source
5383
688k
    {
5384
688k
        return m_args;
5385
688k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, long double>::args()
Line
Count
Source
5383
689k
    {
5384
689k
        return m_args;
5385
689k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, float>::args()
Line
Count
Source
5383
316k
    {
5384
316k
        return m_args;
5385
316k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, double>::args()
Line
Count
Source
5383
373k
    {
5384
373k
        return m_args;
5385
373k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, long double>::args()
Line
Count
Source
5383
356k
    {
5384
356k
        return m_args;
5385
356k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, char>::args()
Line
Count
Source
5383
11.1k
    {
5384
11.1k
        return m_args;
5385
11.1k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, bool>::args()
Line
Count
Source
5383
11.1k
    {
5384
11.1k
        return m_args;
5385
11.1k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, void*>::args()
Line
Count
Source
5383
11.1k
    {
5384
11.1k
        return m_args;
5385
11.1k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::args()
Line
Count
Source
5383
235k
    {
5384
235k
        return m_args;
5385
235k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::args()
Line
Count
Source
5383
11.1k
    {
5384
11.1k
        return m_args;
5385
11.1k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >::args()
Line
Count
Source
5383
111k
    {
5384
111k
        return m_args;
5385
111k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, wchar_t>::args()
Line
Count
Source
5383
22.3k
    {
5384
22.3k
        return m_args;
5385
22.3k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, bool>::args()
Line
Count
Source
5383
22.3k
    {
5384
22.3k
        return m_args;
5385
22.3k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, void*>::args()
Line
Count
Source
5383
22.3k
    {
5384
22.3k
        return m_args;
5385
22.3k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::args()
Line
Count
Source
5383
22.3k
    {
5384
22.3k
        return m_args;
5385
22.3k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::args()
Line
Count
Source
5383
1.40M
    {
5384
1.40M
        return m_args;
5385
1.40M
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::args()
Line
Count
Source
5383
714k
    {
5384
714k
        return m_args;
5385
714k
    }
5386
5387
    argptrs_type& arg_pointers()
5388
6.94M
    {
5389
6.94M
        return m_argptrs;
5390
6.94M
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, signed char>::arg_pointers()
Line
Count
Source
5388
138k
    {
5389
138k
        return m_argptrs;
5390
138k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, unsigned char>::arg_pointers()
Line
Count
Source
5388
121k
    {
5389
121k
        return m_argptrs;
5390
121k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, int>::arg_pointers()
Line
Count
Source
5388
172k
    {
5389
172k
        return m_argptrs;
5390
172k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, unsigned int>::arg_pointers()
Line
Count
Source
5388
143k
    {
5389
143k
        return m_argptrs;
5390
143k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, long long>::arg_pointers()
Line
Count
Source
5388
163k
    {
5389
163k
        return m_argptrs;
5390
163k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, unsigned long long>::arg_pointers()
Line
Count
Source
5388
133k
    {
5389
133k
        return m_argptrs;
5390
133k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, signed char>::arg_pointers()
Line
Count
Source
5388
57.3k
    {
5389
57.3k
        return m_argptrs;
5390
57.3k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, unsigned char>::arg_pointers()
Line
Count
Source
5388
57.2k
    {
5389
57.2k
        return m_argptrs;
5390
57.2k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, int>::arg_pointers()
Line
Count
Source
5388
79.9k
    {
5389
79.9k
        return m_argptrs;
5390
79.9k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, unsigned int>::arg_pointers()
Line
Count
Source
5388
79.7k
    {
5389
79.7k
        return m_argptrs;
5390
79.7k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, long long>::arg_pointers()
Line
Count
Source
5388
57.8k
    {
5389
57.8k
        return m_argptrs;
5390
57.8k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, unsigned long long>::arg_pointers()
Line
Count
Source
5388
57.5k
    {
5389
57.5k
        return m_argptrs;
5390
57.5k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, float>::arg_pointers()
Line
Count
Source
5388
654k
    {
5389
654k
        return m_argptrs;
5390
654k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, double>::arg_pointers()
Line
Count
Source
5388
688k
    {
5389
688k
        return m_argptrs;
5390
688k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, long double>::arg_pointers()
Line
Count
Source
5388
689k
    {
5389
689k
        return m_argptrs;
5390
689k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, float>::arg_pointers()
Line
Count
Source
5388
316k
    {
5389
316k
        return m_argptrs;
5390
316k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, double>::arg_pointers()
Line
Count
Source
5388
373k
    {
5389
373k
        return m_argptrs;
5390
373k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, long double>::arg_pointers()
Line
Count
Source
5388
356k
    {
5389
356k
        return m_argptrs;
5390
356k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, char>::arg_pointers()
Line
Count
Source
5388
11.1k
    {
5389
11.1k
        return m_argptrs;
5390
11.1k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, bool>::arg_pointers()
Line
Count
Source
5388
11.1k
    {
5389
11.1k
        return m_argptrs;
5390
11.1k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, void*>::arg_pointers()
Line
Count
Source
5388
11.1k
    {
5389
11.1k
        return m_argptrs;
5390
11.1k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::arg_pointers()
Line
Count
Source
5388
235k
    {
5389
235k
        return m_argptrs;
5390
235k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::arg_pointers()
Line
Count
Source
5388
11.1k
    {
5389
11.1k
        return m_argptrs;
5390
11.1k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >::arg_pointers()
Line
Count
Source
5388
111k
    {
5389
111k
        return m_argptrs;
5390
111k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, wchar_t>::arg_pointers()
Line
Count
Source
5388
22.3k
    {
5389
22.3k
        return m_argptrs;
5390
22.3k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, bool>::arg_pointers()
Line
Count
Source
5388
22.3k
    {
5389
22.3k
        return m_argptrs;
5390
22.3k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, void*>::arg_pointers()
Line
Count
Source
5388
22.3k
    {
5389
22.3k
        return m_argptrs;
5390
22.3k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::arg_pointers()
Line
Count
Source
5388
22.3k
    {
5389
22.3k
        return m_argptrs;
5390
22.3k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::arg_pointers()
Line
Count
Source
5388
1.40M
    {
5389
1.40M
        return m_argptrs;
5390
1.40M
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::arg_pointers()
Line
Count
Source
5388
714k
    {
5389
714k
        return m_argptrs;
5390
714k
    }
5391
5392
private:
5393
    std::tuple<Args...> m_args;
5394
    argptrs_type m_argptrs;
5395
};
5396
5397
}  // namespace detail
5398
5399
/**
5400
 * Constructs a `scan_arg_store` object, associated with `Context`,
5401
 * that contains value-initialized values of types `Args...`.
5402
 */
5403
template <typename Context = scan_context, typename... Args>
5404
constexpr auto make_scan_args()
5405
6.94M
{
5406
6.94M
    detail::check_scan_arg_types<Args...>();
5407
6.94M
    return detail::scan_arg_store<Context, Args...>{};
5408
6.94M
}
auto scn::v3::make_scan_args<scn::v3::basic_scan_context<char>, signed char>()
Line
Count
Source
5405
138k
{
5406
138k
    detail::check_scan_arg_types<Args...>();
5407
138k
    return detail::scan_arg_store<Context, Args...>{};
5408
138k
}
auto scn::v3::make_scan_args<scn::v3::basic_scan_context<char>, unsigned char>()
Line
Count
Source
5405
121k
{
5406
121k
    detail::check_scan_arg_types<Args...>();
5407
121k
    return detail::scan_arg_store<Context, Args...>{};
5408
121k
}
auto scn::v3::make_scan_args<scn::v3::basic_scan_context<char>, int>()
Line
Count
Source
5405
172k
{
5406
172k
    detail::check_scan_arg_types<Args...>();
5407
172k
    return detail::scan_arg_store<Context, Args...>{};
5408
172k
}
auto scn::v3::make_scan_args<scn::v3::basic_scan_context<char>, unsigned int>()
Line
Count
Source
5405
143k
{
5406
143k
    detail::check_scan_arg_types<Args...>();
5407
143k
    return detail::scan_arg_store<Context, Args...>{};
5408
143k
}
auto scn::v3::make_scan_args<scn::v3::basic_scan_context<char>, long long>()
Line
Count
Source
5405
163k
{
5406
163k
    detail::check_scan_arg_types<Args...>();
5407
163k
    return detail::scan_arg_store<Context, Args...>{};
5408
163k
}
auto scn::v3::make_scan_args<scn::v3::basic_scan_context<char>, unsigned long long>()
Line
Count
Source
5405
133k
{
5406
133k
    detail::check_scan_arg_types<Args...>();
5407
133k
    return detail::scan_arg_store<Context, Args...>{};
5408
133k
}
auto scn::v3::make_scan_args<scn::v3::basic_scan_context<wchar_t>, signed char>()
Line
Count
Source
5405
57.3k
{
5406
57.3k
    detail::check_scan_arg_types<Args...>();
5407
57.3k
    return detail::scan_arg_store<Context, Args...>{};
5408
57.3k
}
auto scn::v3::make_scan_args<scn::v3::basic_scan_context<wchar_t>, unsigned char>()
Line
Count
Source
5405
57.2k
{
5406
57.2k
    detail::check_scan_arg_types<Args...>();
5407
57.2k
    return detail::scan_arg_store<Context, Args...>{};
5408
57.2k
}
auto scn::v3::make_scan_args<scn::v3::basic_scan_context<wchar_t>, int>()
Line
Count
Source
5405
79.9k
{
5406
79.9k
    detail::check_scan_arg_types<Args...>();
5407
79.9k
    return detail::scan_arg_store<Context, Args...>{};
5408
79.9k
}
auto scn::v3::make_scan_args<scn::v3::basic_scan_context<wchar_t>, unsigned int>()
Line
Count
Source
5405
79.7k
{
5406
79.7k
    detail::check_scan_arg_types<Args...>();
5407
79.7k
    return detail::scan_arg_store<Context, Args...>{};
5408
79.7k
}
auto scn::v3::make_scan_args<scn::v3::basic_scan_context<wchar_t>, long long>()
Line
Count
Source
5405
57.8k
{
5406
57.8k
    detail::check_scan_arg_types<Args...>();
5407
57.8k
    return detail::scan_arg_store<Context, Args...>{};
5408
57.8k
}
auto scn::v3::make_scan_args<scn::v3::basic_scan_context<wchar_t>, unsigned long long>()
Line
Count
Source
5405
57.5k
{
5406
57.5k
    detail::check_scan_arg_types<Args...>();
5407
57.5k
    return detail::scan_arg_store<Context, Args...>{};
5408
57.5k
}
auto scn::v3::make_scan_args<scn::v3::basic_scan_context<char>, float>()
Line
Count
Source
5405
654k
{
5406
654k
    detail::check_scan_arg_types<Args...>();
5407
654k
    return detail::scan_arg_store<Context, Args...>{};
5408
654k
}
auto scn::v3::make_scan_args<scn::v3::basic_scan_context<char>, double>()
Line
Count
Source
5405
688k
{
5406
688k
    detail::check_scan_arg_types<Args...>();
5407
688k
    return detail::scan_arg_store<Context, Args...>{};
5408
688k
}
auto scn::v3::make_scan_args<scn::v3::basic_scan_context<char>, long double>()
Line
Count
Source
5405
689k
{
5406
689k
    detail::check_scan_arg_types<Args...>();
5407
689k
    return detail::scan_arg_store<Context, Args...>{};
5408
689k
}
auto scn::v3::make_scan_args<scn::v3::basic_scan_context<wchar_t>, float>()
Line
Count
Source
5405
316k
{
5406
316k
    detail::check_scan_arg_types<Args...>();
5407
316k
    return detail::scan_arg_store<Context, Args...>{};
5408
316k
}
auto scn::v3::make_scan_args<scn::v3::basic_scan_context<wchar_t>, double>()
Line
Count
Source
5405
373k
{
5406
373k
    detail::check_scan_arg_types<Args...>();
5407
373k
    return detail::scan_arg_store<Context, Args...>{};
5408
373k
}
auto scn::v3::make_scan_args<scn::v3::basic_scan_context<wchar_t>, long double>()
Line
Count
Source
5405
356k
{
5406
356k
    detail::check_scan_arg_types<Args...>();
5407
356k
    return detail::scan_arg_store<Context, Args...>{};
5408
356k
}
auto scn::v3::make_scan_args<scn::v3::basic_scan_context<char>, char>()
Line
Count
Source
5405
11.1k
{
5406
11.1k
    detail::check_scan_arg_types<Args...>();
5407
11.1k
    return detail::scan_arg_store<Context, Args...>{};
5408
11.1k
}
auto scn::v3::make_scan_args<scn::v3::basic_scan_context<char>, bool>()
Line
Count
Source
5405
11.1k
{
5406
11.1k
    detail::check_scan_arg_types<Args...>();
5407
11.1k
    return detail::scan_arg_store<Context, Args...>{};
5408
11.1k
}
auto scn::v3::make_scan_args<scn::v3::basic_scan_context<char>, void*>()
Line
Count
Source
5405
11.1k
{
5406
11.1k
    detail::check_scan_arg_types<Args...>();
5407
11.1k
    return detail::scan_arg_store<Context, Args...>{};
5408
11.1k
}
auto scn::v3::make_scan_args<scn::v3::basic_scan_context<char>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >()
Line
Count
Source
5405
235k
{
5406
235k
    detail::check_scan_arg_types<Args...>();
5407
235k
    return detail::scan_arg_store<Context, Args...>{};
5408
235k
}
auto scn::v3::make_scan_args<scn::v3::basic_scan_context<char>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >()
Line
Count
Source
5405
11.1k
{
5406
11.1k
    detail::check_scan_arg_types<Args...>();
5407
11.1k
    return detail::scan_arg_store<Context, Args...>{};
5408
11.1k
}
auto scn::v3::make_scan_args<scn::v3::basic_scan_context<char>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >()
Line
Count
Source
5405
111k
{
5406
111k
    detail::check_scan_arg_types<Args...>();
5407
111k
    return detail::scan_arg_store<Context, Args...>{};
5408
111k
}
auto scn::v3::make_scan_args<scn::v3::basic_scan_context<wchar_t>, wchar_t>()
Line
Count
Source
5405
22.3k
{
5406
22.3k
    detail::check_scan_arg_types<Args...>();
5407
22.3k
    return detail::scan_arg_store<Context, Args...>{};
5408
22.3k
}
auto scn::v3::make_scan_args<scn::v3::basic_scan_context<wchar_t>, bool>()
Line
Count
Source
5405
22.3k
{
5406
22.3k
    detail::check_scan_arg_types<Args...>();
5407
22.3k
    return detail::scan_arg_store<Context, Args...>{};
5408
22.3k
}
auto scn::v3::make_scan_args<scn::v3::basic_scan_context<wchar_t>, void*>()
Line
Count
Source
5405
22.3k
{
5406
22.3k
    detail::check_scan_arg_types<Args...>();
5407
22.3k
    return detail::scan_arg_store<Context, Args...>{};
5408
22.3k
}
auto scn::v3::make_scan_args<scn::v3::basic_scan_context<wchar_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >()
Line
Count
Source
5405
22.3k
{
5406
22.3k
    detail::check_scan_arg_types<Args...>();
5407
22.3k
    return detail::scan_arg_store<Context, Args...>{};
5408
22.3k
}
auto scn::v3::make_scan_args<scn::v3::basic_scan_context<wchar_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >()
Line
Count
Source
5405
1.40M
{
5406
1.40M
    detail::check_scan_arg_types<Args...>();
5407
1.40M
    return detail::scan_arg_store<Context, Args...>{};
5408
1.40M
}
auto scn::v3::make_scan_args<scn::v3::basic_scan_context<wchar_t>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >()
Line
Count
Source
5405
714k
{
5406
714k
    detail::check_scan_arg_types<Args...>();
5407
714k
    return detail::scan_arg_store<Context, Args...>{};
5408
714k
}
5409
/**
5410
 * Constructs a `scan_arg_store` object, associated with `Context`,
5411
 * that contains `values`.
5412
 */
5413
template <typename Context = scan_context, typename... Args>
5414
constexpr auto make_scan_args(std::tuple<Args...>&& values)
5415
{
5416
    detail::check_scan_arg_types<Args...>();
5417
    return detail::scan_arg_store<Context, Args...>{SCN_MOVE(values)};
5418
}
5419
5420
/**
5421
 * A view over a collection of scanning arguments (`scan_arg_store`).
5422
 *
5423
 * Passed to `scn::vscan`, where it's automatically constructed from a
5424
 * `scan_arg_store`.
5425
 */
5426
template <typename Context>
5427
class basic_scan_args {
5428
public:
5429
977k
    constexpr basic_scan_args() = default;
scn::v3::basic_scan_args<scn::v3::basic_scan_context<char> >::basic_scan_args()
Line
Count
Source
5429
354k
    constexpr basic_scan_args() = default;
scn::v3::basic_scan_args<scn::v3::basic_scan_context<wchar_t> >::basic_scan_args()
Line
Count
Source
5429
623k
    constexpr basic_scan_args() = default;
5430
5431
    template <typename... Args>
5432
    SCN_IMPLICIT constexpr basic_scan_args(
5433
        detail::scan_arg_store<Context, Args...>& store)
5434
6.94M
        : basic_scan_args(store.desc, store.arg_pointers().data())
5435
6.94M
    {
5436
6.94M
    }
scn::v3::basic_scan_args<scn::v3::basic_scan_context<char> >::basic_scan_args<signed char>(scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, signed char>&)
Line
Count
Source
5434
138k
        : basic_scan_args(store.desc, store.arg_pointers().data())
5435
138k
    {
5436
138k
    }
scn::v3::basic_scan_args<scn::v3::basic_scan_context<char> >::basic_scan_args<unsigned char>(scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, unsigned char>&)
Line
Count
Source
5434
121k
        : basic_scan_args(store.desc, store.arg_pointers().data())
5435
121k
    {
5436
121k
    }
scn::v3::basic_scan_args<scn::v3::basic_scan_context<char> >::basic_scan_args<int>(scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, int>&)
Line
Count
Source
5434
172k
        : basic_scan_args(store.desc, store.arg_pointers().data())
5435
172k
    {
5436
172k
    }
scn::v3::basic_scan_args<scn::v3::basic_scan_context<char> >::basic_scan_args<unsigned int>(scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, unsigned int>&)
Line
Count
Source
5434
143k
        : basic_scan_args(store.desc, store.arg_pointers().data())
5435
143k
    {
5436
143k
    }
scn::v3::basic_scan_args<scn::v3::basic_scan_context<char> >::basic_scan_args<long long>(scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, long long>&)
Line
Count
Source
5434
163k
        : basic_scan_args(store.desc, store.arg_pointers().data())
5435
163k
    {
5436
163k
    }
scn::v3::basic_scan_args<scn::v3::basic_scan_context<char> >::basic_scan_args<unsigned long long>(scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, unsigned long long>&)
Line
Count
Source
5434
133k
        : basic_scan_args(store.desc, store.arg_pointers().data())
5435
133k
    {
5436
133k
    }
scn::v3::basic_scan_args<scn::v3::basic_scan_context<wchar_t> >::basic_scan_args<signed char>(scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, signed char>&)
Line
Count
Source
5434
57.3k
        : basic_scan_args(store.desc, store.arg_pointers().data())
5435
57.3k
    {
5436
57.3k
    }
scn::v3::basic_scan_args<scn::v3::basic_scan_context<wchar_t> >::basic_scan_args<unsigned char>(scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, unsigned char>&)
Line
Count
Source
5434
57.2k
        : basic_scan_args(store.desc, store.arg_pointers().data())
5435
57.2k
    {
5436
57.2k
    }
scn::v3::basic_scan_args<scn::v3::basic_scan_context<wchar_t> >::basic_scan_args<int>(scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, int>&)
Line
Count
Source
5434
79.9k
        : basic_scan_args(store.desc, store.arg_pointers().data())
5435
79.9k
    {
5436
79.9k
    }
scn::v3::basic_scan_args<scn::v3::basic_scan_context<wchar_t> >::basic_scan_args<unsigned int>(scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, unsigned int>&)
Line
Count
Source
5434
79.7k
        : basic_scan_args(store.desc, store.arg_pointers().data())
5435
79.7k
    {
5436
79.7k
    }
scn::v3::basic_scan_args<scn::v3::basic_scan_context<wchar_t> >::basic_scan_args<long long>(scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, long long>&)
Line
Count
Source
5434
57.8k
        : basic_scan_args(store.desc, store.arg_pointers().data())
5435
57.8k
    {
5436
57.8k
    }
scn::v3::basic_scan_args<scn::v3::basic_scan_context<wchar_t> >::basic_scan_args<unsigned long long>(scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, unsigned long long>&)
Line
Count
Source
5434
57.5k
        : basic_scan_args(store.desc, store.arg_pointers().data())
5435
57.5k
    {
5436
57.5k
    }
scn::v3::basic_scan_args<scn::v3::basic_scan_context<char> >::basic_scan_args<float>(scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, float>&)
Line
Count
Source
5434
654k
        : basic_scan_args(store.desc, store.arg_pointers().data())
5435
654k
    {
5436
654k
    }
scn::v3::basic_scan_args<scn::v3::basic_scan_context<char> >::basic_scan_args<double>(scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, double>&)
Line
Count
Source
5434
688k
        : basic_scan_args(store.desc, store.arg_pointers().data())
5435
688k
    {
5436
688k
    }
scn::v3::basic_scan_args<scn::v3::basic_scan_context<char> >::basic_scan_args<long double>(scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, long double>&)
Line
Count
Source
5434
689k
        : basic_scan_args(store.desc, store.arg_pointers().data())
5435
689k
    {
5436
689k
    }
scn::v3::basic_scan_args<scn::v3::basic_scan_context<wchar_t> >::basic_scan_args<float>(scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, float>&)
Line
Count
Source
5434
316k
        : basic_scan_args(store.desc, store.arg_pointers().data())
5435
316k
    {
5436
316k
    }
scn::v3::basic_scan_args<scn::v3::basic_scan_context<wchar_t> >::basic_scan_args<double>(scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, double>&)
Line
Count
Source
5434
373k
        : basic_scan_args(store.desc, store.arg_pointers().data())
5435
373k
    {
5436
373k
    }
scn::v3::basic_scan_args<scn::v3::basic_scan_context<wchar_t> >::basic_scan_args<long double>(scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, long double>&)
Line
Count
Source
5434
356k
        : basic_scan_args(store.desc, store.arg_pointers().data())
5435
356k
    {
5436
356k
    }
scn::v3::basic_scan_args<scn::v3::basic_scan_context<char> >::basic_scan_args<char>(scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, char>&)
Line
Count
Source
5434
11.1k
        : basic_scan_args(store.desc, store.arg_pointers().data())
5435
11.1k
    {
5436
11.1k
    }
scn::v3::basic_scan_args<scn::v3::basic_scan_context<char> >::basic_scan_args<bool>(scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, bool>&)
Line
Count
Source
5434
11.1k
        : basic_scan_args(store.desc, store.arg_pointers().data())
5435
11.1k
    {
5436
11.1k
    }
scn::v3::basic_scan_args<scn::v3::basic_scan_context<char> >::basic_scan_args<void*>(scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, void*>&)
Line
Count
Source
5434
11.1k
        : basic_scan_args(store.desc, store.arg_pointers().data())
5435
11.1k
    {
5436
11.1k
    }
scn::v3::basic_scan_args<scn::v3::basic_scan_context<char> >::basic_scan_args<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&)
Line
Count
Source
5434
235k
        : basic_scan_args(store.desc, store.arg_pointers().data())
5435
235k
    {
5436
235k
    }
scn::v3::basic_scan_args<scn::v3::basic_scan_context<char> >::basic_scan_args<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >&)
Line
Count
Source
5434
11.1k
        : basic_scan_args(store.desc, store.arg_pointers().data())
5435
11.1k
    {
5436
11.1k
    }
scn::v3::basic_scan_args<scn::v3::basic_scan_context<char> >::basic_scan_args<std::__1::basic_string_view<char, std::__1::char_traits<char> > >(scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >&)
Line
Count
Source
5434
111k
        : basic_scan_args(store.desc, store.arg_pointers().data())
5435
111k
    {
5436
111k
    }
scn::v3::basic_scan_args<scn::v3::basic_scan_context<wchar_t> >::basic_scan_args<wchar_t>(scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, wchar_t>&)
Line
Count
Source
5434
22.3k
        : basic_scan_args(store.desc, store.arg_pointers().data())
5435
22.3k
    {
5436
22.3k
    }
scn::v3::basic_scan_args<scn::v3::basic_scan_context<wchar_t> >::basic_scan_args<bool>(scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, bool>&)
Line
Count
Source
5434
22.3k
        : basic_scan_args(store.desc, store.arg_pointers().data())
5435
22.3k
    {
5436
22.3k
    }
scn::v3::basic_scan_args<scn::v3::basic_scan_context<wchar_t> >::basic_scan_args<void*>(scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, void*>&)
Line
Count
Source
5434
22.3k
        : basic_scan_args(store.desc, store.arg_pointers().data())
5435
22.3k
    {
5436
22.3k
    }
scn::v3::basic_scan_args<scn::v3::basic_scan_context<wchar_t> >::basic_scan_args<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&)
Line
Count
Source
5434
22.3k
        : basic_scan_args(store.desc, store.arg_pointers().data())
5435
22.3k
    {
5436
22.3k
    }
scn::v3::basic_scan_args<scn::v3::basic_scan_context<wchar_t> >::basic_scan_args<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >&)
Line
Count
Source
5434
1.40M
        : basic_scan_args(store.desc, store.arg_pointers().data())
5435
1.40M
    {
5436
1.40M
    }
scn::v3::basic_scan_args<scn::v3::basic_scan_context<wchar_t> >::basic_scan_args<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >(scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >&)
Line
Count
Source
5434
714k
        : basic_scan_args(store.desc, store.arg_pointers().data())
5435
714k
    {
5436
714k
    }
5437
5438
    /**
5439
     * \return `basic_scan_arg` at index `id`. Empty `basic_scan_arg` if
5440
     * there's no argument at index `id`.
5441
     */
5442
    SCN_NODISCARD constexpr basic_scan_arg<Context> get(std::size_t id) const
5443
6.73M
    {
5444
6.73M
        if (SCN_UNLIKELY(!is_packed())) {
5445
0
            if (SCN_LIKELY(id < max_size())) {
5446
0
                return m_args[id];
5447
0
            }
5448
0
            return {};
5449
0
        }
5450
5451
6.73M
        if (SCN_UNLIKELY(id >= detail::max_packed_args)) {
5452
136
            return {};
5453
136
        }
5454
5455
6.73M
        const auto t = type(id);
5456
6.73M
        if (SCN_UNLIKELY(t == detail::arg_type::none_type)) {
5457
2.44k
            return {};
5458
2.44k
        }
5459
5460
6.73M
        basic_scan_arg<Context> arg;
5461
6.73M
        arg.m_type = t;
5462
6.73M
        if (is_only_builtin()) {
5463
6.73M
            arg.m_value.ref_value = m_builtin_values[id];
5464
6.73M
        }
5465
0
        else {
5466
0
            arg.m_value = m_values[id];
5467
0
        }
5468
6.73M
        return arg;
5469
6.73M
    }
scn::v3::basic_scan_args<scn::v3::basic_scan_context<char> >::get(unsigned long) const
Line
Count
Source
5443
3.25M
    {
5444
3.25M
        if (SCN_UNLIKELY(!is_packed())) {
5445
0
            if (SCN_LIKELY(id < max_size())) {
5446
0
                return m_args[id];
5447
0
            }
5448
0
            return {};
5449
0
        }
5450
5451
3.25M
        if (SCN_UNLIKELY(id >= detail::max_packed_args)) {
5452
68
            return {};
5453
68
        }
5454
5455
3.25M
        const auto t = type(id);
5456
3.25M
        if (SCN_UNLIKELY(t == detail::arg_type::none_type)) {
5457
1.32k
            return {};
5458
1.32k
        }
5459
5460
3.25M
        basic_scan_arg<Context> arg;
5461
3.25M
        arg.m_type = t;
5462
3.25M
        if (is_only_builtin()) {
5463
3.25M
            arg.m_value.ref_value = m_builtin_values[id];
5464
3.25M
        }
5465
0
        else {
5466
0
            arg.m_value = m_values[id];
5467
0
        }
5468
3.25M
        return arg;
5469
3.25M
    }
scn::v3::basic_scan_args<scn::v3::basic_scan_context<wchar_t> >::get(unsigned long) const
Line
Count
Source
5443
3.47M
    {
5444
3.47M
        if (SCN_UNLIKELY(!is_packed())) {
5445
0
            if (SCN_LIKELY(id < max_size())) {
5446
0
                return m_args[id];
5447
0
            }
5448
0
            return {};
5449
0
        }
5450
5451
3.47M
        if (SCN_UNLIKELY(id >= detail::max_packed_args)) {
5452
68
            return {};
5453
68
        }
5454
5455
3.47M
        const auto t = type(id);
5456
3.47M
        if (SCN_UNLIKELY(t == detail::arg_type::none_type)) {
5457
1.12k
            return {};
5458
1.12k
        }
5459
5460
3.47M
        basic_scan_arg<Context> arg;
5461
3.47M
        arg.m_type = t;
5462
3.47M
        if (is_only_builtin()) {
5463
3.47M
            arg.m_value.ref_value = m_builtin_values[id];
5464
3.47M
        }
5465
0
        else {
5466
0
            arg.m_value = m_values[id];
5467
0
        }
5468
3.47M
        return arg;
5469
3.47M
    }
5470
5471
    /**
5472
     * \return Number of arguments in `*this`.
5473
     */
5474
    SCN_NODISCARD constexpr std::size_t size() const
5475
6.94M
    {
5476
6.94M
        if (SCN_UNLIKELY(!is_packed())) {
5477
0
            return max_size();
5478
0
        }
5479
5480
6.94M
        return static_cast<std::size_t>(m_desc &
5481
6.94M
                                        ((1 << detail::packed_arg_bits) - 1));
5482
6.94M
    }
scn::v3::basic_scan_args<scn::v3::basic_scan_context<char> >::size() const
Line
Count
Source
5475
3.29M
    {
5476
3.29M
        if (SCN_UNLIKELY(!is_packed())) {
5477
0
            return max_size();
5478
0
        }
5479
5480
3.29M
        return static_cast<std::size_t>(m_desc &
5481
3.29M
                                        ((1 << detail::packed_arg_bits) - 1));
5482
3.29M
    }
scn::v3::basic_scan_args<scn::v3::basic_scan_context<wchar_t> >::size() const
Line
Count
Source
5475
3.64M
    {
5476
3.64M
        if (SCN_UNLIKELY(!is_packed())) {
5477
0
            return max_size();
5478
0
        }
5479
5480
3.64M
        return static_cast<std::size_t>(m_desc &
5481
3.64M
                                        ((1 << detail::packed_arg_bits) - 1));
5482
3.64M
    }
5483
5484
private:
5485
    constexpr explicit basic_scan_args(size_t desc, void** data)
5486
6.94M
        : m_desc(desc), m_builtin_values(data)
5487
6.94M
    {
5488
6.94M
    }
scn::v3::basic_scan_args<scn::v3::basic_scan_context<char> >::basic_scan_args(unsigned long, void**)
Line
Count
Source
5486
3.29M
        : m_desc(desc), m_builtin_values(data)
5487
3.29M
    {
5488
3.29M
    }
scn::v3::basic_scan_args<scn::v3::basic_scan_context<wchar_t> >::basic_scan_args(unsigned long, void**)
Line
Count
Source
5486
3.64M
        : m_desc(desc), m_builtin_values(data)
5487
3.64M
    {
5488
3.64M
    }
5489
    constexpr explicit basic_scan_args(size_t desc, detail::arg_value* data)
5490
        : m_desc(desc), m_values(data)
5491
    {
5492
    }
5493
    constexpr explicit basic_scan_args(size_t desc,
5494
                                       basic_scan_arg<Context>* data)
5495
        : m_desc(desc), m_args(data)
5496
    {
5497
    }
5498
5499
    SCN_NODISCARD constexpr bool is_packed() const
5500
13.6M
    {
5501
13.6M
        return (m_desc & detail::is_unpacked_bit) == 0;
5502
13.6M
    }
scn::v3::basic_scan_args<scn::v3::basic_scan_context<char> >::is_packed() const
Line
Count
Source
5500
6.55M
    {
5501
6.55M
        return (m_desc & detail::is_unpacked_bit) == 0;
5502
6.55M
    }
scn::v3::basic_scan_args<scn::v3::basic_scan_context<wchar_t> >::is_packed() const
Line
Count
Source
5500
7.12M
    {
5501
7.12M
        return (m_desc & detail::is_unpacked_bit) == 0;
5502
7.12M
    }
5503
    SCN_NODISCARD constexpr bool is_only_builtin() const
5504
6.73M
    {
5505
6.73M
        return (m_desc & detail::has_custom_types_bit) == 0;
5506
6.73M
    }
scn::v3::basic_scan_args<scn::v3::basic_scan_context<char> >::is_only_builtin() const
Line
Count
Source
5504
3.25M
    {
5505
3.25M
        return (m_desc & detail::has_custom_types_bit) == 0;
5506
3.25M
    }
scn::v3::basic_scan_args<scn::v3::basic_scan_context<wchar_t> >::is_only_builtin() const
Line
Count
Source
5504
3.47M
    {
5505
3.47M
        return (m_desc & detail::has_custom_types_bit) == 0;
5506
3.47M
    }
5507
5508
    SCN_NODISCARD constexpr detail::arg_type type(std::size_t index) const
5509
6.73M
    {
5510
        // First (0th) index is size, types start after that
5511
6.73M
        const auto shift = (index + 1) * detail::packed_arg_bits;
5512
6.73M
        const std::size_t mask = (1 << detail::packed_arg_bits) - 1;
5513
6.73M
        return static_cast<detail::arg_type>((m_desc >> shift) & mask);
5514
6.73M
    }
scn::v3::basic_scan_args<scn::v3::basic_scan_context<char> >::type(unsigned long) const
Line
Count
Source
5509
3.25M
    {
5510
        // First (0th) index is size, types start after that
5511
3.25M
        const auto shift = (index + 1) * detail::packed_arg_bits;
5512
3.25M
        const std::size_t mask = (1 << detail::packed_arg_bits) - 1;
5513
3.25M
        return static_cast<detail::arg_type>((m_desc >> shift) & mask);
5514
3.25M
    }
scn::v3::basic_scan_args<scn::v3::basic_scan_context<wchar_t> >::type(unsigned long) const
Line
Count
Source
5509
3.47M
    {
5510
        // First (0th) index is size, types start after that
5511
3.47M
        const auto shift = (index + 1) * detail::packed_arg_bits;
5512
3.47M
        const std::size_t mask = (1 << detail::packed_arg_bits) - 1;
5513
3.47M
        return static_cast<detail::arg_type>((m_desc >> shift) & mask);
5514
3.47M
    }
5515
5516
    SCN_NODISCARD constexpr std::size_t max_size() const
5517
0
    {
5518
0
        return SCN_LIKELY(is_packed()) ? detail::max_packed_args
5519
0
                                       : (m_desc & ~detail::is_unpacked_bit &
5520
0
                                          ~detail::has_custom_types_bit);
5521
0
    }
Unexecuted instantiation: scn::v3::basic_scan_args<scn::v3::basic_scan_context<char> >::max_size() const
Unexecuted instantiation: scn::v3::basic_scan_args<scn::v3::basic_scan_context<wchar_t> >::max_size() const
5522
5523
    size_t m_desc{0};
5524
    union {
5525
        void** m_builtin_values;
5526
        detail::arg_value* m_values;
5527
        basic_scan_arg<Context>* m_args{nullptr};
5528
    };
5529
};
5530
5531
/////////////////////////////////////////////////////////////////
5532
// scan_parse_context
5533
/////////////////////////////////////////////////////////////////
5534
5535
/**
5536
 * Format string parsing context, wrapping the format string being parsed,
5537
 * and a counter for argument indexing.
5538
 *
5539
 * \ingroup ctx
5540
 */
5541
template <typename CharT>
5542
class basic_scan_parse_context {
5543
public:
5544
    using char_type = CharT;
5545
    using iterator = typename std::basic_string_view<CharT>::const_pointer;
5546
5547
    /**
5548
     * Construct a `basic_scan_parse_context` over a format string `format`.
5549
     */
5550
    explicit constexpr basic_scan_parse_context(
5551
        std::basic_string_view<CharT> format,
5552
        int next_arg_id = 0)
5553
4.98M
        : m_format{format}, m_next_arg_id{next_arg_id}
5554
4.98M
    {
5555
4.98M
    }
scn::v3::basic_scan_parse_context<char>::basic_scan_parse_context(std::__1::basic_string_view<char, std::__1::char_traits<char> >, int)
Line
Count
Source
5553
2.58M
        : m_format{format}, m_next_arg_id{next_arg_id}
5554
2.58M
    {
5555
2.58M
    }
scn::v3::basic_scan_parse_context<wchar_t>::basic_scan_parse_context(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, int)
Line
Count
Source
5553
2.39M
        : m_format{format}, m_next_arg_id{next_arg_id}
5554
2.39M
    {
5555
2.39M
    }
5556
5557
    /// Returns an iterator pointing to the beginning of the format string
5558
    constexpr auto begin() const noexcept
5559
9.35M
    {
5560
9.35M
        return m_format.data();
5561
9.35M
    }
scn::v3::basic_scan_parse_context<char>::begin() const
Line
Count
Source
5559
5.02M
    {
5560
5.02M
        return m_format.data();
5561
5.02M
    }
scn::v3::basic_scan_parse_context<wchar_t>::begin() const
Line
Count
Source
5559
4.32M
    {
5560
4.32M
        return m_format.data();
5561
4.32M
    }
5562
    /// Returns an iterator pointing to the end of the format string
5563
    constexpr auto end() const noexcept
5564
    {
5565
        return m_format.data() + m_format.size();
5566
    }
5567
5568
    /// Advance the beginning of the format string to `it`
5569
    constexpr void advance_to(iterator it)
5570
4.57M
    {
5571
4.57M
        m_format.remove_prefix(static_cast<std::size_t>(it - begin()));
5572
4.57M
    }
scn::v3::basic_scan_parse_context<char>::advance_to(char const*)
Line
Count
Source
5570
2.47M
    {
5571
2.47M
        m_format.remove_prefix(static_cast<std::size_t>(it - begin()));
5572
2.47M
    }
scn::v3::basic_scan_parse_context<wchar_t>::advance_to(wchar_t const*)
Line
Count
Source
5570
2.09M
    {
5571
2.09M
        m_format.remove_prefix(static_cast<std::size_t>(it - begin()));
5572
2.09M
    }
5573
5574
    constexpr size_t next_arg_id()
5575
4.78M
    {
5576
4.78M
        if (SCN_UNLIKELY(m_next_arg_id < 0)) {
5577
88
            on_error(
5578
88
                "Cannot switch from manual to automatic argument indexing");
5579
88
            return 0;
5580
88
        }
5581
5582
4.78M
        auto id = static_cast<size_t>(m_next_arg_id++);
5583
4.78M
        do_check_arg_id(id);
5584
4.78M
        return id;
5585
4.78M
    }
scn::v3::basic_scan_parse_context<char>::next_arg_id()
Line
Count
Source
5575
2.54M
    {
5576
2.54M
        if (SCN_UNLIKELY(m_next_arg_id < 0)) {
5577
48
            on_error(
5578
48
                "Cannot switch from manual to automatic argument indexing");
5579
48
            return 0;
5580
48
        }
5581
5582
2.54M
        auto id = static_cast<size_t>(m_next_arg_id++);
5583
2.54M
        do_check_arg_id(id);
5584
2.54M
        return id;
5585
2.54M
    }
scn::v3::basic_scan_parse_context<wchar_t>::next_arg_id()
Line
Count
Source
5575
2.23M
    {
5576
2.23M
        if (SCN_UNLIKELY(m_next_arg_id < 0)) {
5577
40
            on_error(
5578
40
                "Cannot switch from manual to automatic argument indexing");
5579
40
            return 0;
5580
40
        }
5581
5582
2.23M
        auto id = static_cast<size_t>(m_next_arg_id++);
5583
2.23M
        do_check_arg_id(id);
5584
2.23M
        return id;
5585
2.23M
    }
5586
5587
    constexpr void check_arg_id(std::size_t id)
5588
2.87k
    {
5589
2.87k
        if (SCN_UNLIKELY(m_next_arg_id > 0)) {
5590
142
            on_error(
5591
142
                "Cannot switch from manual to automatic argument indexing");
5592
142
            return;
5593
142
        }
5594
2.73k
        m_next_arg_id = -1;
5595
2.73k
        do_check_arg_id(id);
5596
2.73k
    }
scn::v3::basic_scan_parse_context<char>::check_arg_id(unsigned long)
Line
Count
Source
5588
2.60k
    {
5589
2.60k
        if (SCN_UNLIKELY(m_next_arg_id > 0)) {
5590
70
            on_error(
5591
70
                "Cannot switch from manual to automatic argument indexing");
5592
70
            return;
5593
70
        }
5594
2.53k
        m_next_arg_id = -1;
5595
2.53k
        do_check_arg_id(id);
5596
2.53k
    }
scn::v3::basic_scan_parse_context<wchar_t>::check_arg_id(unsigned long)
Line
Count
Source
5588
270
    {
5589
270
        if (SCN_UNLIKELY(m_next_arg_id > 0)) {
5590
72
            on_error(
5591
72
                "Cannot switch from manual to automatic argument indexing");
5592
72
            return;
5593
72
        }
5594
198
        m_next_arg_id = -1;
5595
198
        do_check_arg_id(id);
5596
198
    }
5597
5598
    constexpr scan_error on_error(const char* msg) const
5599
230
    {
5600
230
        return detail::handle_error(
5601
230
            scan_error{scan_error::invalid_format_string, msg});
5602
230
    }
scn::v3::basic_scan_parse_context<char>::on_error(char const*) const
Line
Count
Source
5599
118
    {
5600
118
        return detail::handle_error(
5601
118
            scan_error{scan_error::invalid_format_string, msg});
5602
118
    }
scn::v3::basic_scan_parse_context<wchar_t>::on_error(char const*) const
Line
Count
Source
5599
112
    {
5600
112
        return detail::handle_error(
5601
112
            scan_error{scan_error::invalid_format_string, msg});
5602
112
    }
5603
5604
protected:
5605
    constexpr void do_check_arg_id(size_t id);
5606
5607
    std::basic_string_view<CharT> m_format;
5608
    int m_next_arg_id{0};
5609
};
5610
5611
/////////////////////////////////////////////////////////////////
5612
// Result types
5613
/////////////////////////////////////////////////////////////////
5614
5615
namespace detail {
5616
template <typename... Args>
5617
struct scan_result_value_storage {
5618
public:
5619
    using tuple_type = std::tuple<Args...>;
5620
5621
    constexpr scan_result_value_storage() = default;
5622
5623
    constexpr scan_result_value_storage(tuple_type&& values)
5624
6.44M
        : m_values(SCN_MOVE(values))
5625
6.44M
    {
5626
6.44M
    }
scn::v3::detail::scan_result_value_storage<signed char>::scan_result_value_storage(std::__1::tuple<signed char>&&)
Line
Count
Source
5624
120k
        : m_values(SCN_MOVE(values))
5625
120k
    {
5626
120k
    }
scn::v3::detail::scan_result_value_storage<unsigned char>::scan_result_value_storage(std::__1::tuple<unsigned char>&&)
Line
Count
Source
5624
101k
        : m_values(SCN_MOVE(values))
5625
101k
    {
5626
101k
    }
scn::v3::detail::scan_result_value_storage<int>::scan_result_value_storage(std::__1::tuple<int>&&)
Line
Count
Source
5624
144k
        : m_values(SCN_MOVE(values))
5625
144k
    {
5626
144k
    }
scn::v3::detail::scan_result_value_storage<unsigned int>::scan_result_value_storage(std::__1::tuple<unsigned int>&&)
Line
Count
Source
5624
113k
        : m_values(SCN_MOVE(values))
5625
113k
    {
5626
113k
    }
scn::v3::detail::scan_result_value_storage<long long>::scan_result_value_storage(std::__1::tuple<long long>&&)
Line
Count
Source
5624
147k
        : m_values(SCN_MOVE(values))
5625
147k
    {
5626
147k
    }
scn::v3::detail::scan_result_value_storage<unsigned long long>::scan_result_value_storage(std::__1::tuple<unsigned long long>&&)
Line
Count
Source
5624
114k
        : m_values(SCN_MOVE(values))
5625
114k
    {
5626
114k
    }
scn::v3::detail::scan_result_value_storage<float>::scan_result_value_storage(std::__1::tuple<float>&&)
Line
Count
Source
5624
895k
        : m_values(SCN_MOVE(values))
5625
895k
    {
5626
895k
    }
scn::v3::detail::scan_result_value_storage<double>::scan_result_value_storage(std::__1::tuple<double>&&)
Line
Count
Source
5624
961k
        : m_values(SCN_MOVE(values))
5625
961k
    {
5626
961k
    }
scn::v3::detail::scan_result_value_storage<long double>::scan_result_value_storage(std::__1::tuple<long double>&&)
Line
Count
Source
5624
980k
        : m_values(SCN_MOVE(values))
5625
980k
    {
5626
980k
    }
scn::v3::detail::scan_result_value_storage<char>::scan_result_value_storage(std::__1::tuple<char>&&)
Line
Count
Source
5624
214
        : m_values(SCN_MOVE(values))
5625
214
    {
5626
214
    }
Unexecuted instantiation: scn::v3::detail::scan_result_value_storage<bool>::scan_result_value_storage(std::__1::tuple<bool>&&)
Unexecuted instantiation: scn::v3::detail::scan_result_value_storage<void*>::scan_result_value_storage(std::__1::tuple<void*>&&)
scn::v3::detail::scan_result_value_storage<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::scan_result_value_storage(std::__1::tuple<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
5624
249k
        : m_values(SCN_MOVE(values))
5625
249k
    {
5626
249k
    }
scn::v3::detail::scan_result_value_storage<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::scan_result_value_storage(std::__1::tuple<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >&&)
Line
Count
Source
5624
1.66M
        : m_values(SCN_MOVE(values))
5625
1.66M
    {
5626
1.66M
    }
scn::v3::detail::scan_result_value_storage<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::scan_result_value_storage(std::__1::tuple<std::__1::basic_string_view<char, std::__1::char_traits<char> > >&&)
Line
Count
Source
5624
111k
        : m_values(SCN_MOVE(values))
5625
111k
    {
5626
111k
    }
scn::v3::detail::scan_result_value_storage<wchar_t>::scan_result_value_storage(std::__1::tuple<wchar_t>&&)
Line
Count
Source
5624
96
        : m_values(SCN_MOVE(values))
5625
96
    {
5626
96
    }
scn::v3::detail::scan_result_value_storage<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::scan_result_value_storage(std::__1::tuple<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >&&)
Line
Count
Source
5624
834k
        : m_values(SCN_MOVE(values))
5625
834k
    {
5626
834k
    }
5627
5628
    /// Access the scanned values
5629
    tuple_type& values() &
5630
    {
5631
        return m_values;
5632
    }
5633
    /// Access the scanned values
5634
    const tuple_type& values() const&
5635
    {
5636
        return m_values;
5637
    }
5638
    /// Access the scanned values
5639
    tuple_type&& values() &&
5640
    {
5641
        return SCN_MOVE(m_values);
5642
    }
5643
    /// Access the scanned values
5644
    const tuple_type&& values() const&&
5645
    {
5646
        return SCN_MOVE(m_values);
5647
    }
5648
5649
    /// Access the single scanned value
5650
    template <size_t N = sizeof...(Args), std::enable_if_t<N == 1>* = nullptr>
5651
    decltype(auto) value() &
5652
    {
5653
        return std::get<0>(m_values);
5654
    }
5655
    /// Access the single scanned value
5656
    template <size_t N = sizeof...(Args), std::enable_if_t<N == 1>* = nullptr>
5657
    decltype(auto) value() const&
5658
    {
5659
        return std::get<0>(m_values);
5660
    }
5661
    /// Access the single scanned value
5662
    template <size_t N = sizeof...(Args), std::enable_if_t<N == 1>* = nullptr>
5663
    decltype(auto) value() &&
5664
    {
5665
        return SCN_MOVE(std::get<0>(m_values));
5666
    }
5667
    /// Access the single scanned value
5668
    template <size_t N = sizeof...(Args), std::enable_if_t<N == 1>* = nullptr>
5669
    decltype(auto) value() const&&
5670
    {
5671
        return SCN_MOVE(std::get<0>(m_values));
5672
    }
5673
5674
private:
5675
    SCN_NO_UNIQUE_ADDRESS tuple_type m_values{};
5676
};
5677
5678
struct scan_result_convert_tag {};
5679
5680
template <typename Range>
5681
struct scan_result_range_storage {
5682
public:
5683
    using range_type = Range;
5684
    using iterator = ranges::iterator_t<Range>;
5685
    using sentinel = ranges::sentinel_t<Range>;
5686
5687
    constexpr scan_result_range_storage() = default;
5688
5689
6.44M
    constexpr scan_result_range_storage(range_type&& r) : m_range(SCN_MOVE(r))
5690
6.44M
    {
5691
6.44M
    }
scn::v3::detail::scan_result_range_storage<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::scan_result_range_storage(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>&&)
Line
Count
Source
5689
1.54M
    constexpr scan_result_range_storage(range_type&& r) : m_range(SCN_MOVE(r))
5690
1.54M
    {
5691
1.54M
    }
scn::v3::detail::scan_result_range_storage<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > >::scan_result_range_storage(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >&&)
Line
Count
Source
5689
1.61M
    constexpr scan_result_range_storage(range_type&& r) : m_range(SCN_MOVE(r))
5690
1.61M
    {
5691
1.61M
    }
scn::v3::detail::scan_result_range_storage<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::scan_result_range_storage(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&&)
Line
Count
Source
5689
2.05M
    constexpr scan_result_range_storage(range_type&& r) : m_range(SCN_MOVE(r))
5690
2.05M
    {
5691
2.05M
    }
scn::v3::detail::scan_result_range_storage<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > >::scan_result_range_storage(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >&&)
Line
Count
Source
5689
1.22M
    constexpr scan_result_range_storage(range_type&& r) : m_range(SCN_MOVE(r))
5690
1.22M
    {
5691
1.22M
    }
5692
5693
    template <typename R>
5694
    explicit constexpr scan_result_range_storage(scan_result_convert_tag, R&& r)
5695
        : m_range(SCN_MOVE(r))
5696
    {
5697
    }
5698
5699
    /// Access the ununsed source range
5700
    range_type range() const
5701
    {
5702
        return m_range;
5703
    }
5704
5705
    /// The beginning of the unused source range
5706
    auto begin() const
5707
6.43M
    {
5708
6.43M
        return ranges::begin(m_range);
5709
6.43M
    }
scn::v3::detail::scan_result_range_storage<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::begin() const
Line
Count
Source
5707
1.54M
    {
5708
1.54M
        return ranges::begin(m_range);
5709
1.54M
    }
scn::v3::detail::scan_result_range_storage<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > >::begin() const
Line
Count
Source
5707
1.61M
    {
5708
1.61M
        return ranges::begin(m_range);
5709
1.61M
    }
scn::v3::detail::scan_result_range_storage<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::begin() const
Line
Count
Source
5707
2.05M
    {
5708
2.05M
        return ranges::begin(m_range);
5709
2.05M
    }
scn::v3::detail::scan_result_range_storage<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > >::begin() const
Line
Count
Source
5707
1.22M
    {
5708
1.22M
        return ranges::begin(m_range);
5709
1.22M
    }
5710
    /// The end of the unused source range
5711
    auto end() const
5712
0
    {
5713
0
        return ranges::end(m_range);
5714
0
    }
Unexecuted instantiation: scn::v3::detail::scan_result_range_storage<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::end() const
Unexecuted instantiation: scn::v3::detail::scan_result_range_storage<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > >::end() const
Unexecuted instantiation: scn::v3::detail::scan_result_range_storage<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::end() const
Unexecuted instantiation: scn::v3::detail::scan_result_range_storage<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > >::end() const
5715
5716
protected:
5717
    template <typename Other>
5718
    void assign_range(Other&& r)
5719
    {
5720
        m_range = r.m_range;
5721
    }
5722
5723
private:
5724
    SCN_NO_UNIQUE_ADDRESS range_type m_range{};
5725
};
5726
5727
struct scan_result_file_storage {
5728
public:
5729
    using range_type = std::FILE*;
5730
5731
    constexpr scan_result_file_storage() = default;
5732
5733
0
    constexpr scan_result_file_storage(std::FILE* f) : m_file(f) {}
5734
5735
    /// File used for scanning
5736
    std::FILE* file() const
5737
0
    {
5738
0
        return m_file;
5739
0
    }
5740
5741
protected:
5742
    void assign_range(const scan_result_file_storage& f)
5743
0
    {
5744
0
        m_file = f.m_file;
5745
0
    }
5746
5747
private:
5748
    std::FILE* m_file{nullptr};
5749
};
5750
5751
struct scan_result_dangling {
5752
    using range_type = ranges::dangling;
5753
5754
    constexpr scan_result_dangling() = default;
5755
5756
    template <typename... Args>
5757
    explicit constexpr scan_result_dangling(Args&&...)
5758
    {
5759
    }
5760
5761
    range_type range() const
5762
0
    {
5763
0
        return {};
5764
0
    }
5765
5766
    ranges::dangling begin() const
5767
0
    {
5768
0
        return {};
5769
0
    }
5770
    ranges::dangling end() const
5771
0
    {
5772
0
        return {};
5773
0
    }
5774
5775
protected:
5776
    template <typename... Args>
5777
    void assign_range(Args&&...)
5778
    {
5779
    }
5780
};
5781
5782
template <typename Range>
5783
constexpr auto get_scan_result_base()
5784
0
{
5785
0
    if constexpr (std::is_same_v<remove_cvref_t<Range>, ranges::dangling>) {
5786
0
        return type_identity<scan_result_dangling>{};
5787
0
    }
5788
0
    else if constexpr (std::is_same_v<remove_cvref_t<Range>, std::FILE*>) {
5789
0
        return type_identity<scan_result_file_storage>{};
5790
0
    }
5791
0
    else {
5792
0
        return type_identity<scan_result_range_storage<Range>>{};
5793
0
    }
5794
0
}
Unexecuted instantiation: auto scn::v3::detail::get_scan_result_base<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >()
Unexecuted instantiation: auto scn::v3::detail::get_scan_result_base<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > >()
Unexecuted instantiation: auto scn::v3::detail::get_scan_result_base<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >()
Unexecuted instantiation: auto scn::v3::detail::get_scan_result_base<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > >()
5795
5796
#if !SCN_DOXYGEN
5797
template <typename Range>
5798
using scan_result_base = typename decltype(get_scan_result_base<Range>())::type;
5799
#else
5800
template <typename Range>
5801
using scan_result_base = scan_result_range_storage<Range>;
5802
#endif
5803
}  // namespace detail
5804
5805
/**
5806
 * \defgroup result Result types
5807
 *
5808
 * \brief Result and error types
5809
 *
5810
 * Instead of using exceptions, `scn::scan` and others return an object of
5811
 * type `scn::scan_result`, wrapped inside a `scn::scan_expected`.
5812
 */
5813
5814
/**
5815
 * Type returned by `scan`, contains the unused input as a subrange, and the
5816
 * scanned values in a tuple.
5817
 */
5818
template <typename Range, typename... Args>
5819
class scan_result : public detail::scan_result_base<Range>,
5820
                    public detail::scan_result_value_storage<Args...> {
5821
    using range_base = detail::scan_result_base<Range>;
5822
    using value_base = detail::scan_result_value_storage<Args...>;
5823
5824
public:
5825
    using range_type = typename range_base::range_type;
5826
    using tuple_type = typename value_base::tuple_type;
5827
5828
    constexpr scan_result() = default;
5829
5830
    constexpr scan_result(const scan_result&) = default;
5831
1.91M
    constexpr scan_result(scan_result&&) = default;
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::scan_result(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
5831
111k
    constexpr scan_result(scan_result&&) = default;
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::scan_result(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >&&)
Line
Count
Source
5831
990
    constexpr scan_result(scan_result&&) = default;
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::scan_result(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
5831
474
    constexpr scan_result(scan_result&&) = default;
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::scan_result(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >&&)
Line
Count
Source
5831
834k
    constexpr scan_result(scan_result&&) = default;
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::scan_result(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
5831
138k
    constexpr scan_result(scan_result&&) = default;
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::scan_result(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >&&)
Line
Count
Source
5831
833k
    constexpr scan_result(scan_result&&) = default;
5832
    constexpr scan_result& operator=(const scan_result&) = default;
5833
    constexpr scan_result& operator=(scan_result&&) = default;
5834
5835
3.83M
    ~scan_result() = default;
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::~scan_result()
Line
Count
Source
5835
222k
    ~scan_result() = default;
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::~scan_result()
Line
Count
Source
5835
1.98k
    ~scan_result() = default;
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::~scan_result()
Line
Count
Source
5835
948
    ~scan_result() = default;
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::~scan_result()
Line
Count
Source
5835
1.66M
    ~scan_result() = default;
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::~scan_result()
Line
Count
Source
5835
276k
    ~scan_result() = default;
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::~scan_result()
Line
Count
Source
5835
1.66M
    ~scan_result() = default;
5836
5837
    scan_result(range_type r, tuple_type&& values)
5838
6.44M
        : range_base(SCN_MOVE(r)), value_base(SCN_MOVE(values))
5839
6.44M
    {
5840
6.44M
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>::scan_result(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::tuple<signed char>&&)
Line
Count
Source
5838
59.6k
        : range_base(SCN_MOVE(r)), value_base(SCN_MOVE(values))
5839
59.6k
    {
5840
59.6k
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>::scan_result(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::tuple<unsigned char>&&)
Line
Count
Source
5838
50.5k
        : range_base(SCN_MOVE(r)), value_base(SCN_MOVE(values))
5839
50.5k
    {
5840
50.5k
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, int>::scan_result(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::tuple<int>&&)
Line
Count
Source
5838
72.0k
        : range_base(SCN_MOVE(r)), value_base(SCN_MOVE(values))
5839
72.0k
    {
5840
72.0k
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>::scan_result(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::tuple<unsigned int>&&)
Line
Count
Source
5838
56.0k
        : range_base(SCN_MOVE(r)), value_base(SCN_MOVE(values))
5839
56.0k
    {
5840
56.0k
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long long>::scan_result(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::tuple<long long>&&)
Line
Count
Source
5838
73.5k
        : range_base(SCN_MOVE(r)), value_base(SCN_MOVE(values))
5839
73.5k
    {
5840
73.5k
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>::scan_result(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::tuple<unsigned long long>&&)
Line
Count
Source
5838
56.7k
        : range_base(SCN_MOVE(r)), value_base(SCN_MOVE(values))
5839
56.7k
    {
5840
56.7k
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>::scan_result(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::tuple<signed char>&&)
Line
Count
Source
5838
59.6k
        : range_base(SCN_MOVE(r)), value_base(SCN_MOVE(values))
5839
59.6k
    {
5840
59.6k
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>::scan_result(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::tuple<unsigned char>&&)
Line
Count
Source
5838
50.5k
        : range_base(SCN_MOVE(r)), value_base(SCN_MOVE(values))
5839
50.5k
    {
5840
50.5k
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>::scan_result(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::tuple<int>&&)
Line
Count
Source
5838
71.5k
        : range_base(SCN_MOVE(r)), value_base(SCN_MOVE(values))
5839
71.5k
    {
5840
71.5k
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>::scan_result(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::tuple<unsigned int>&&)
Line
Count
Source
5838
56.0k
        : range_base(SCN_MOVE(r)), value_base(SCN_MOVE(values))
5839
56.0k
    {
5840
56.0k
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>::scan_result(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::tuple<long long>&&)
Line
Count
Source
5838
72.9k
        : range_base(SCN_MOVE(r)), value_base(SCN_MOVE(values))
5839
72.9k
    {
5840
72.9k
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>::scan_result(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::tuple<unsigned long long>&&)
Line
Count
Source
5838
56.8k
        : range_base(SCN_MOVE(r)), value_base(SCN_MOVE(values))
5839
56.8k
    {
5840
56.8k
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>::scan_result(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::tuple<signed char>&&)
Line
Count
Source
5838
484
        : range_base(SCN_MOVE(r)), value_base(SCN_MOVE(values))
5839
484
    {
5840
484
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>::scan_result(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::tuple<unsigned char>&&)
Line
Count
Source
5838
411
        : range_base(SCN_MOVE(r)), value_base(SCN_MOVE(values))
5839
411
    {
5840
411
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>::scan_result(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::tuple<int>&&)
Line
Count
Source
5838
600
        : range_base(SCN_MOVE(r)), value_base(SCN_MOVE(values))
5839
600
    {
5840
600
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>::scan_result(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::tuple<unsigned int>&&)
Line
Count
Source
5838
475
        : range_base(SCN_MOVE(r)), value_base(SCN_MOVE(values))
5839
475
    {
5840
475
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>::scan_result(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::tuple<long long>&&)
Line
Count
Source
5838
717
        : range_base(SCN_MOVE(r)), value_base(SCN_MOVE(values))
5839
717
    {
5840
717
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>::scan_result(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::tuple<unsigned long long>&&)
Line
Count
Source
5838
565
        : range_base(SCN_MOVE(r)), value_base(SCN_MOVE(values))
5839
565
    {
5840
565
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>::scan_result(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::tuple<signed char>&&)
Line
Count
Source
5838
484
        : range_base(SCN_MOVE(r)), value_base(SCN_MOVE(values))
5839
484
    {
5840
484
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>::scan_result(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::tuple<unsigned char>&&)
Line
Count
Source
5838
411
        : range_base(SCN_MOVE(r)), value_base(SCN_MOVE(values))
5839
411
    {
5840
411
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>::scan_result(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::tuple<int>&&)
Line
Count
Source
5838
600
        : range_base(SCN_MOVE(r)), value_base(SCN_MOVE(values))
5839
600
    {
5840
600
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>::scan_result(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::tuple<unsigned int>&&)
Line
Count
Source
5838
475
        : range_base(SCN_MOVE(r)), value_base(SCN_MOVE(values))
5839
475
    {
5840
475
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>::scan_result(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::tuple<long long>&&)
Line
Count
Source
5838
717
        : range_base(SCN_MOVE(r)), value_base(SCN_MOVE(values))
5839
717
    {
5840
717
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>::scan_result(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::tuple<unsigned long long>&&)
Line
Count
Source
5838
565
        : range_base(SCN_MOVE(r)), value_base(SCN_MOVE(values))
5839
565
    {
5840
565
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, float>::scan_result(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::tuple<float>&&)
Line
Count
Source
5838
309k
        : range_base(SCN_MOVE(r)), value_base(SCN_MOVE(values))
5839
309k
    {
5840
309k
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, double>::scan_result(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::tuple<double>&&)
Line
Count
Source
5838
319k
        : range_base(SCN_MOVE(r)), value_base(SCN_MOVE(values))
5839
319k
    {
5840
319k
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long double>::scan_result(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::tuple<long double>&&)
Line
Count
Source
5838
326k
        : range_base(SCN_MOVE(r)), value_base(SCN_MOVE(values))
5839
326k
    {
5840
326k
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, float>::scan_result(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::tuple<float>&&)
Line
Count
Source
5838
356k
        : range_base(SCN_MOVE(r)), value_base(SCN_MOVE(values))
5839
356k
    {
5840
356k
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, double>::scan_result(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::tuple<double>&&)
Line
Count
Source
5838
372k
        : range_base(SCN_MOVE(r)), value_base(SCN_MOVE(values))
5839
372k
    {
5840
372k
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long double>::scan_result(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::tuple<long double>&&)
Line
Count
Source
5838
378k
        : range_base(SCN_MOVE(r)), value_base(SCN_MOVE(values))
5839
378k
    {
5840
378k
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, float>::scan_result(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::tuple<float>&&)
Line
Count
Source
5838
114k
        : range_base(SCN_MOVE(r)), value_base(SCN_MOVE(values))
5839
114k
    {
5840
114k
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>::scan_result(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::tuple<double>&&)
Line
Count
Source
5838
134k
        : range_base(SCN_MOVE(r)), value_base(SCN_MOVE(values))
5839
134k
    {
5840
134k
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long double>::scan_result(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::tuple<long double>&&)
Line
Count
Source
5838
138k
        : range_base(SCN_MOVE(r)), value_base(SCN_MOVE(values))
5839
138k
    {
5840
138k
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, float>::scan_result(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::tuple<float>&&)
Line
Count
Source
5838
114k
        : range_base(SCN_MOVE(r)), value_base(SCN_MOVE(values))
5839
114k
    {
5840
114k
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, double>::scan_result(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::tuple<double>&&)
Line
Count
Source
5838
134k
        : range_base(SCN_MOVE(r)), value_base(SCN_MOVE(values))
5839
134k
    {
5840
134k
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long double>::scan_result(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::tuple<long double>&&)
Line
Count
Source
5838
137k
        : range_base(SCN_MOVE(r)), value_base(SCN_MOVE(values))
5839
137k
    {
5840
137k
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, char>::scan_result(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::tuple<char>&&)
Line
Count
Source
5838
214
        : range_base(SCN_MOVE(r)), value_base(SCN_MOVE(values))
5839
214
    {
5840
214
    }
Unexecuted instantiation: scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, bool>::scan_result(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::tuple<bool>&&)
Unexecuted instantiation: scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, void*>::scan_result(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::tuple<void*>&&)
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::scan_result(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::tuple<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
5838
111k
        : range_base(SCN_MOVE(r)), value_base(SCN_MOVE(values))
5839
111k
    {
5840
111k
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::scan_result(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::tuple<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >&&)
Line
Count
Source
5838
990
        : range_base(SCN_MOVE(r)), value_base(SCN_MOVE(values))
5839
990
    {
5840
990
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >::scan_result(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::tuple<std::__1::basic_string_view<char, std::__1::char_traits<char> > >&&)
Line
Count
Source
5838
111k
        : range_base(SCN_MOVE(r)), value_base(SCN_MOVE(values))
5839
111k
    {
5840
111k
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>::scan_result(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::tuple<wchar_t>&&)
Line
Count
Source
5838
96
        : range_base(SCN_MOVE(r)), value_base(SCN_MOVE(values))
5839
96
    {
5840
96
    }
Unexecuted instantiation: scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool>::scan_result(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::tuple<bool>&&)
Unexecuted instantiation: scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*>::scan_result(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::tuple<void*>&&)
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::scan_result(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::tuple<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
5838
474
        : range_base(SCN_MOVE(r)), value_base(SCN_MOVE(values))
5839
474
    {
5840
474
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::scan_result(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::tuple<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >&&)
Line
Count
Source
5838
834k
        : range_base(SCN_MOVE(r)), value_base(SCN_MOVE(values))
5839
834k
    {
5840
834k
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::scan_result(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::tuple<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >&&)
Line
Count
Source
5838
834k
        : range_base(SCN_MOVE(r)), value_base(SCN_MOVE(values))
5839
834k
    {
5840
834k
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::scan_result(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::tuple<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
5838
138k
        : range_base(SCN_MOVE(r)), value_base(SCN_MOVE(values))
5839
138k
    {
5840
138k
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::scan_result(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::tuple<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >&&)
Line
Count
Source
5838
833k
        : range_base(SCN_MOVE(r)), value_base(SCN_MOVE(values))
5839
833k
    {
5840
833k
    }
5841
5842
    template <typename OtherR,
5843
              std::enable_if_t<std::is_constructible_v<range_type, OtherR>>* =
5844
                  nullptr>
5845
    scan_result(OtherR&& r, tuple_type&& values)
5846
        : range_base(detail::scan_result_convert_tag{}, SCN_FWD(r)),
5847
          value_base(SCN_MOVE(values))
5848
    {
5849
    }
5850
5851
    template <typename OtherR,
5852
              std::enable_if_t<
5853
                  std::is_constructible_v<range_type, OtherR> &&
5854
                  std::is_convertible_v<const OtherR&, range_type>>* = nullptr>
5855
    SCN_IMPLICIT scan_result(const scan_result<OtherR, Args...>& o)
5856
        : range_base(detail::scan_result_convert_tag{}, o.range()),
5857
          value_base(o.values())
5858
    {
5859
    }
5860
    template <typename OtherR,
5861
              std::enable_if_t<
5862
                  std::is_constructible_v<range_type, OtherR> &&
5863
                  !std::is_convertible_v<const OtherR&, range_type>>* = nullptr>
5864
    explicit scan_result(const scan_result<OtherR, Args...>& o)
5865
        : range_base(detail::scan_result_convert_tag{}, o.range()),
5866
          value_base(o.values())
5867
    {
5868
    }
5869
5870
    template <typename OtherR,
5871
              std::enable_if_t<std::is_constructible_v<range_type, OtherR> &&
5872
                               std::is_convertible_v<OtherR&&, range_type>>* =
5873
                  nullptr>
5874
    SCN_IMPLICIT scan_result(scan_result<OtherR, Args...>&& o)
5875
        : range_base(detail::scan_result_convert_tag{}, SCN_MOVE(o.range())),
5876
          value_base(SCN_MOVE(o.values()))
5877
    {
5878
    }
5879
    template <typename OtherR,
5880
              std::enable_if_t<std::is_constructible_v<range_type, OtherR> &&
5881
                               !std::is_convertible_v<OtherR&&, range_type>>* =
5882
                  nullptr>
5883
    explicit scan_result(scan_result<OtherR, Args...>&& o)
5884
        : range_base(detail::scan_result_convert_tag{}, SCN_MOVE(o.range())),
5885
          value_base(SCN_MOVE(o.values()))
5886
    {
5887
    }
5888
5889
    template <typename OtherR,
5890
              typename =
5891
                  std::enable_if_t<std::is_constructible_v<range_type, OtherR>>>
5892
    scan_result& operator=(const scan_result<OtherR, Args...>& o)
5893
    {
5894
        this->assign_range(o);
5895
        this->values() = o.values();
5896
        return *this;
5897
    }
5898
5899
    template <typename OtherR,
5900
              typename =
5901
                  std::enable_if_t<std::is_constructible_v<range_type, OtherR>>>
5902
    scan_result& operator=(scan_result<OtherR, Args...>&& o)
5903
    {
5904
        this->assign_range(o);
5905
        this->values() = SCN_MOVE(o.values());
5906
        return *this;
5907
    }
5908
};
5909
5910
template <typename R, typename... Args>
5911
scan_result(R, std::tuple<Args...>) -> scan_result<R, Args...>;
5912
template <typename R, typename Ctx, typename... Args>
5913
scan_result(R, detail::scan_arg_store<Ctx, Args...>&)
5914
    -> scan_result<R, Args...>;
5915
5916
namespace detail {
5917
template <typename SourceRange>
5918
auto make_vscan_result_range_end(SourceRange& source)
5919
6.44M
{
5920
6.44M
    return ranges::end(source);
5921
6.44M
}
auto scn::v3::detail::make_vscan_result_range_end<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>&)
Line
Count
Source
5919
1.54M
{
5920
1.54M
    return ranges::end(source);
5921
1.54M
}
auto scn::v3::detail::make_vscan_result_range_end<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > >(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >&)
Line
Count
Source
5919
1.61M
{
5920
1.61M
    return ranges::end(source);
5921
1.61M
}
auto scn::v3::detail::make_vscan_result_range_end<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&)
Line
Count
Source
5919
2.05M
{
5920
2.05M
    return ranges::end(source);
5921
2.05M
}
auto scn::v3::detail::make_vscan_result_range_end<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > >(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >&)
Line
Count
Source
5919
1.22M
{
5920
1.22M
    return ranges::end(source);
5921
1.22M
}
auto scn::v3::detail::make_vscan_result_range_end<std::__1::basic_string_view<char, std::__1::char_traits<char> > >(std::__1::basic_string_view<char, std::__1::char_traits<char> >&)
Line
Count
Source
5919
3.18k
{
5920
3.18k
    return ranges::end(source);
5921
3.18k
}
auto scn::v3::detail::make_vscan_result_range_end<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&)
Line
Count
Source
5919
1.51k
{
5920
1.51k
    return ranges::end(source);
5921
1.51k
}
5922
template <typename CharT, size_t N>
5923
auto make_vscan_result_range_end(CharT (&source)[N])
5924
    -> ranges::sentinel_t<CharT (&)[N]>
5925
{
5926
    return source + N - 1;
5927
}
5928
5929
template <typename SourceRange>
5930
auto make_vscan_result_range(SourceRange&& source, std::ptrdiff_t n)
5931
    -> borrowed_tail_subrange_t<SourceRange>
5932
6.44M
{
5933
    if constexpr (ranges::random_access_iterator<
5934
6.44M
                      ranges::iterator_t<SourceRange>>) {
5935
6.44M
        return {ranges::begin(source) + n, make_vscan_result_range_end(source)};
5936
    }
5937
    else {
5938
        auto it = ranges::begin(source);
5939
        while (n > 0) {
5940
            --n;
5941
            ++it;
5942
        }
5943
        return {SCN_MOVE(it), make_vscan_result_range_end(source)};
5944
    }
5945
6.44M
}
_ZN3scn2v36detail23make_vscan_result_rangeINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_22borrowed_tail_subrangeIT_Xsr6rangesE14borrowed_rangeISB_EEE4typeEOSB_l
Line
Count
Source
5932
1.54M
{
5933
    if constexpr (ranges::random_access_iterator<
5934
1.54M
                      ranges::iterator_t<SourceRange>>) {
5935
1.54M
        return {ranges::begin(source) + n, make_vscan_result_range_end(source)};
5936
    }
5937
    else {
5938
        auto it = ranges::begin(source);
5939
        while (n > 0) {
5940
            --n;
5941
            ++it;
5942
        }
5943
        return {SCN_MOVE(it), make_vscan_result_range_end(source)};
5944
    }
5945
1.54M
}
_ZN3scn2v36detail23make_vscan_result_rangeINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEEENS1_22borrowed_tail_subrangeIT_Xsr6rangesE14borrowed_rangeISH_EEE4typeEOSH_l
Line
Count
Source
5932
1.61M
{
5933
    if constexpr (ranges::random_access_iterator<
5934
1.61M
                      ranges::iterator_t<SourceRange>>) {
5935
1.61M
        return {ranges::begin(source) + n, make_vscan_result_range_end(source)};
5936
    }
5937
    else {
5938
        auto it = ranges::begin(source);
5939
        while (n > 0) {
5940
            --n;
5941
            ++it;
5942
        }
5943
        return {SCN_MOVE(it), make_vscan_result_range_end(source)};
5944
    }
5945
1.61M
}
_ZN3scn2v36detail23make_vscan_result_rangeINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_22borrowed_tail_subrangeIT_Xsr6rangesE14borrowed_rangeISB_EEE4typeEOSB_l
Line
Count
Source
5932
2.05M
{
5933
    if constexpr (ranges::random_access_iterator<
5934
2.05M
                      ranges::iterator_t<SourceRange>>) {
5935
2.05M
        return {ranges::begin(source) + n, make_vscan_result_range_end(source)};
5936
    }
5937
    else {
5938
        auto it = ranges::begin(source);
5939
        while (n > 0) {
5940
            --n;
5941
            ++it;
5942
        }
5943
        return {SCN_MOVE(it), make_vscan_result_range_end(source)};
5944
    }
5945
2.05M
}
_ZN3scn2v36detail23make_vscan_result_rangeINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRS9_PKSA_lLl1024EEESE_EEEENS1_22borrowed_tail_subrangeIT_Xsr6rangesE14borrowed_rangeISH_EEE4typeEOSH_l
Line
Count
Source
5932
1.22M
{
5933
    if constexpr (ranges::random_access_iterator<
5934
1.22M
                      ranges::iterator_t<SourceRange>>) {
5935
1.22M
        return {ranges::begin(source) + n, make_vscan_result_range_end(source)};
5936
    }
5937
    else {
5938
        auto it = ranges::begin(source);
5939
        while (n > 0) {
5940
            --n;
5941
            ++it;
5942
        }
5943
        return {SCN_MOVE(it), make_vscan_result_range_end(source)};
5944
    }
5945
1.22M
}
_ZN3scn2v36detail23make_vscan_result_rangeIRNSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEEENS1_22borrowed_tail_subrangeIT_Xsr6rangesE14borrowed_rangeISA_EEE4typeEOSA_l
Line
Count
Source
5932
3.18k
{
5933
    if constexpr (ranges::random_access_iterator<
5934
3.18k
                      ranges::iterator_t<SourceRange>>) {
5935
3.18k
        return {ranges::begin(source) + n, make_vscan_result_range_end(source)};
5936
    }
5937
    else {
5938
        auto it = ranges::begin(source);
5939
        while (n > 0) {
5940
            --n;
5941
            ++it;
5942
        }
5943
        return {SCN_MOVE(it), make_vscan_result_range_end(source)};
5944
    }
5945
3.18k
}
_ZN3scn2v36detail23make_vscan_result_rangeIRNSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEENS1_22borrowed_tail_subrangeIT_Xsr6rangesE14borrowed_rangeISA_EEE4typeEOSA_l
Line
Count
Source
5932
1.51k
{
5933
    if constexpr (ranges::random_access_iterator<
5934
1.51k
                      ranges::iterator_t<SourceRange>>) {
5935
1.51k
        return {ranges::begin(source) + n, make_vscan_result_range_end(source)};
5936
    }
5937
    else {
5938
        auto it = ranges::begin(source);
5939
        while (n > 0) {
5940
            --n;
5941
            ++it;
5942
        }
5943
        return {SCN_MOVE(it), make_vscan_result_range_end(source)};
5944
    }
5945
1.51k
}
5946
inline auto make_vscan_result_range(std::FILE* source, std::ptrdiff_t)
5947
0
{
5948
0
    return source;
5949
0
}
5950
}  // namespace detail
5951
5952
/////////////////////////////////////////////////////////////////
5953
// Format string parsing
5954
/////////////////////////////////////////////////////////////////
5955
5956
namespace detail {
5957
/// Parse context with extra data used only for compile-time checks
5958
template <typename CharT>
5959
class compile_parse_context : public basic_scan_parse_context<CharT> {
5960
    using base = basic_scan_parse_context<CharT>;
5961
5962
public:
5963
    template <typename Source>
5964
    explicit constexpr compile_parse_context(
5965
        std::basic_string_view<CharT> format_str,
5966
        int num_args,
5967
        const arg_type* types,
5968
        type_identity<Source> source_tag,
5969
        int next_arg_id = 0)
5970
        : base(format_str, next_arg_id),
5971
          m_num_args(num_args),
5972
          m_types(types),
5973
          m_is_contiguous(ranges::range<Source> &&
5974
                          ranges::contiguous_range<Source>),
5975
          m_is_borrowed(
5976
              (ranges::range<Source> && ranges::borrowed_range<Source>) ||
5977
              std::is_same_v<detail::remove_cvref_t<Source>, std::FILE*>)
5978
    {
5979
    }
5980
5981
    SCN_NODISCARD constexpr int get_num_args() const
5982
0
    {
5983
0
        return m_num_args;
5984
0
    }
Unexecuted instantiation: scn::v3::detail::compile_parse_context<char>::get_num_args() const
Unexecuted instantiation: scn::v3::detail::compile_parse_context<wchar_t>::get_num_args() const
5985
    SCN_NODISCARD constexpr arg_type get_arg_type(std::size_t id) const
5986
    {
5987
        return m_types[id];
5988
    }
5989
5990
    SCN_GCC_PUSH
5991
    SCN_GCC_IGNORE("-Wsign-conversion")
5992
5993
    constexpr std::size_t next_arg_id()
5994
    {
5995
        auto id = base::next_arg_id();
5996
        if (SCN_UNLIKELY(id >= static_cast<size_t>(m_num_args))) {
5997
            this->on_error("Argument not found");
5998
        }
5999
        return id;
6000
    }
6001
6002
    constexpr void check_arg_id(std::size_t id)
6003
    {
6004
        base::check_arg_id(id);
6005
        if (SCN_UNLIKELY(id >= static_cast<size_t>(m_num_args))) {
6006
            this->on_error("Argument not found");
6007
        }
6008
    }
6009
    using base::check_arg_id;
6010
6011
    constexpr void check_arg_can_be_read(std::size_t id)
6012
    {
6013
        auto type = get_arg_type(id);
6014
6015
        if ((type == arg_type::narrow_string_view_type ||
6016
             type == arg_type::wide_string_view_type) &&
6017
            !m_is_contiguous) {
6018
            // clang-format off
6019
            this->on_error("Cannot read a string_view from a non-contiguous source");
6020
            // clang-format on
6021
            return;
6022
        }
6023
        if ((type == arg_type::narrow_string_view_type ||
6024
             type == arg_type::wide_string_view_type) &&
6025
            !m_is_borrowed) {
6026
            // clang-format off
6027
            this->on_error("Cannot read a string_view from a non-borrowed source");
6028
            // clang-format on
6029
            return;
6030
        }
6031
6032
        if ((type == arg_type::narrow_regex_matches_type ||
6033
             type == arg_type::wide_regex_matches_type) &&
6034
            !m_is_contiguous) {
6035
            // clang-format off
6036
            this->on_error("Cannot read a regex_matches from a non-contiguous source");
6037
            // clang-format on
6038
            return;
6039
        }
6040
    }
6041
6042
private:
6043
    int m_num_args;
6044
    const arg_type* m_types;
6045
    bool m_is_contiguous, m_is_borrowed;
6046
6047
    SCN_GCC_POP  // -Wsign-conversion
6048
};
6049
6050
constexpr inline bool is_constant_evaluated(bool default_value = false) noexcept
6051
0
{
6052
0
#ifdef __cpp_lib_is_constant_evaluated
6053
0
    SCN_UNUSED(default_value);
6054
0
    return std::is_constant_evaluated();
6055
0
#else
6056
0
    return default_value;
6057
0
#endif
6058
0
}
6059
}  // namespace detail
6060
6061
template <typename CharT>
6062
constexpr void basic_scan_parse_context<CharT>::do_check_arg_id(size_t id)
6063
4.78M
{
6064
4.78M
    if (detail::is_constant_evaluated() &&
6065
4.78M
        (!SCN_GCC || SCN_GCC >= SCN_COMPILER(12, 0, 0))) {
6066
        // The cast below will cause an error on gcc pre-12
6067
0
        using parse_context_type = detail::compile_parse_context<CharT>;
6068
0
        if (static_cast<int>(id) >=
6069
0
            static_cast<parse_context_type*>(this)->get_num_args()) {
6070
0
            SCN_UNLIKELY_ATTR
6071
0
            on_error("Argument not found");
6072
0
        }
6073
0
    }
6074
4.78M
}
scn::v3::basic_scan_parse_context<char>::do_check_arg_id(unsigned long)
Line
Count
Source
6063
2.55M
{
6064
2.55M
    if (detail::is_constant_evaluated() &&
6065
2.55M
        (!SCN_GCC || SCN_GCC >= SCN_COMPILER(12, 0, 0))) {
6066
        // The cast below will cause an error on gcc pre-12
6067
0
        using parse_context_type = detail::compile_parse_context<CharT>;
6068
0
        if (static_cast<int>(id) >=
6069
0
            static_cast<parse_context_type*>(this)->get_num_args()) {
6070
0
            SCN_UNLIKELY_ATTR
6071
0
            on_error("Argument not found");
6072
0
        }
6073
0
    }
6074
2.55M
}
scn::v3::basic_scan_parse_context<wchar_t>::do_check_arg_id(unsigned long)
Line
Count
Source
6063
2.23M
{
6064
2.23M
    if (detail::is_constant_evaluated() &&
6065
2.23M
        (!SCN_GCC || SCN_GCC >= SCN_COMPILER(12, 0, 0))) {
6066
        // The cast below will cause an error on gcc pre-12
6067
0
        using parse_context_type = detail::compile_parse_context<CharT>;
6068
0
        if (static_cast<int>(id) >=
6069
0
            static_cast<parse_context_type*>(this)->get_num_args()) {
6070
0
            SCN_UNLIKELY_ATTR
6071
0
            on_error("Argument not found");
6072
0
        }
6073
0
    }
6074
2.23M
}
6075
6076
namespace detail {
6077
enum class align_type : unsigned char {
6078
    none = 0,
6079
    left = 1,   // '<'
6080
    right = 2,  // '>'
6081
    center = 3  // '^'
6082
};
6083
6084
enum class presentation_type {
6085
    none,
6086
    int_binary,            // 'b', 'B'
6087
    int_decimal,           // 'd'
6088
    int_generic,           // 'i'
6089
    int_unsigned_decimal,  // 'u'
6090
    int_octal,             // 'o'
6091
    int_hex,               // 'x', 'X'
6092
    int_arbitrary_base,    // 'rnn', 'Rnn' (R for radix)
6093
    float_hex,             // 'a', 'A'
6094
    float_scientific,      // 'e', 'E'
6095
    float_fixed,           // 'f', 'F'
6096
    float_general,         // 'g', 'G'
6097
    string,                // 's'
6098
    string_set,            // '[...]'
6099
    regex,                 // '/.../.'
6100
    regex_escaped,         // '/..\/../.'
6101
    character,             // 'c'
6102
    escaped_character,     // '?'
6103
    pointer,               // 'p'
6104
};
6105
6106
enum class regex_flags {
6107
    none = 0,
6108
    multiline = 1,   // /m
6109
    singleline = 2,  // /s
6110
    nocase = 4,      // /i
6111
    nocapture = 8,   // /n
6112
    // TODO?
6113
    // would probably need to go hand-in-hand with locale,
6114
    // where it could even be the default/only option -> no flag?
6115
    // why else would you even use locale with a regex?
6116
    // collate = 16,
6117
};
6118
6119
constexpr regex_flags operator&(regex_flags a, regex_flags b)
6120
82.1k
{
6121
82.1k
    return static_cast<regex_flags>(static_cast<unsigned>(a) &
6122
82.1k
                                    static_cast<unsigned>(b));
6123
82.1k
}
6124
constexpr regex_flags operator|(regex_flags a, regex_flags b)
6125
7.62k
{
6126
7.62k
    return static_cast<regex_flags>(static_cast<unsigned>(a) |
6127
7.62k
                                    static_cast<unsigned>(b));
6128
7.62k
}
6129
constexpr regex_flags operator^(regex_flags a, regex_flags b)
6130
0
{
6131
0
    return static_cast<regex_flags>(static_cast<unsigned>(a) ^
6132
0
                                    static_cast<unsigned>(b));
6133
0
}
6134
6135
constexpr regex_flags& operator&=(regex_flags& a, regex_flags b)
6136
0
{
6137
0
    return a = a & b;
6138
0
}
6139
constexpr regex_flags& operator|=(regex_flags& a, regex_flags b)
6140
7.62k
{
6141
7.62k
    return a = a | b;
6142
7.62k
}
6143
constexpr regex_flags& operator^=(regex_flags& a, regex_flags b)
6144
0
{
6145
0
    return a = a ^ b;
6146
0
}
6147
6148
class fill_type {
6149
public:
6150
    constexpr void operator=(char c)
6151
0
    {
6152
0
        m_data[0] = c;
6153
0
        m_size = 1;
6154
0
    }
6155
6156
    template <typename CharT>
6157
    constexpr void operator=(std::basic_string_view<CharT> s)
6158
6.42k
    {
6159
6.42k
        SCN_EXPECT(!s.empty());
6160
6.42k
        SCN_EXPECT(s.size() * sizeof(CharT) <= max_size);
6161
6.42k
        if constexpr (sizeof(CharT) == 1) {
6162
13.3k
            for (size_t i = 0; i < s.size(); ++i) {
6163
7.73k
                SCN_GCC_PUSH
6164
7.73k
                SCN_GCC_IGNORE("-Wstringop-overflow")  // false positive
6165
7.73k
                m_data[i] = s[i];
6166
7.73k
                SCN_GCC_POP
6167
7.73k
            }
6168
5.59k
            m_size = static_cast<unsigned char>(s.size());
6169
        }
6170
        else if constexpr (sizeof(CharT) == 2) {
6171
            m_data[0] = static_cast<char>(static_cast<unsigned>(s.front()));
6172
            m_data[1] =
6173
                static_cast<char>(static_cast<unsigned>(s.front()) >> 8);
6174
            if (s.size() == 1) {
6175
                return;
6176
            }
6177
            m_data[2] = static_cast<char>(static_cast<unsigned>(s[1]));
6178
            m_data[3] = static_cast<char>(static_cast<unsigned>(s[1]) >> 8);
6179
        }
6180
834
        else {
6181
834
            const auto front = static_cast<unsigned>(s.front());
6182
834
            m_data[0] = static_cast<char>(front);
6183
834
            m_data[1] = static_cast<char>(front >> 8);
6184
834
            m_data[2] = static_cast<char>(front >> 16);
6185
834
            m_data[3] = static_cast<char>(front >> 24);
6186
834
        }
6187
6.42k
    }
void scn::v3::detail::fill_type::operator=<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Line
Count
Source
6158
5.59k
    {
6159
5.59k
        SCN_EXPECT(!s.empty());
6160
5.59k
        SCN_EXPECT(s.size() * sizeof(CharT) <= max_size);
6161
5.59k
        if constexpr (sizeof(CharT) == 1) {
6162
13.3k
            for (size_t i = 0; i < s.size(); ++i) {
6163
7.73k
                SCN_GCC_PUSH
6164
7.73k
                SCN_GCC_IGNORE("-Wstringop-overflow")  // false positive
6165
7.73k
                m_data[i] = s[i];
6166
7.73k
                SCN_GCC_POP
6167
7.73k
            }
6168
5.59k
            m_size = static_cast<unsigned char>(s.size());
6169
        }
6170
        else if constexpr (sizeof(CharT) == 2) {
6171
            m_data[0] = static_cast<char>(static_cast<unsigned>(s.front()));
6172
            m_data[1] =
6173
                static_cast<char>(static_cast<unsigned>(s.front()) >> 8);
6174
            if (s.size() == 1) {
6175
                return;
6176
            }
6177
            m_data[2] = static_cast<char>(static_cast<unsigned>(s[1]));
6178
            m_data[3] = static_cast<char>(static_cast<unsigned>(s[1]) >> 8);
6179
        }
6180
        else {
6181
            const auto front = static_cast<unsigned>(s.front());
6182
            m_data[0] = static_cast<char>(front);
6183
            m_data[1] = static_cast<char>(front >> 8);
6184
            m_data[2] = static_cast<char>(front >> 16);
6185
            m_data[3] = static_cast<char>(front >> 24);
6186
        }
6187
5.59k
    }
void scn::v3::detail::fill_type::operator=<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
Line
Count
Source
6158
834
    {
6159
834
        SCN_EXPECT(!s.empty());
6160
834
        SCN_EXPECT(s.size() * sizeof(CharT) <= max_size);
6161
        if constexpr (sizeof(CharT) == 1) {
6162
            for (size_t i = 0; i < s.size(); ++i) {
6163
                SCN_GCC_PUSH
6164
                SCN_GCC_IGNORE("-Wstringop-overflow")  // false positive
6165
                m_data[i] = s[i];
6166
                SCN_GCC_POP
6167
            }
6168
            m_size = static_cast<unsigned char>(s.size());
6169
        }
6170
        else if constexpr (sizeof(CharT) == 2) {
6171
            m_data[0] = static_cast<char>(static_cast<unsigned>(s.front()));
6172
            m_data[1] =
6173
                static_cast<char>(static_cast<unsigned>(s.front()) >> 8);
6174
            if (s.size() == 1) {
6175
                return;
6176
            }
6177
            m_data[2] = static_cast<char>(static_cast<unsigned>(s[1]));
6178
            m_data[3] = static_cast<char>(static_cast<unsigned>(s[1]) >> 8);
6179
        }
6180
834
        else {
6181
834
            const auto front = static_cast<unsigned>(s.front());
6182
834
            m_data[0] = static_cast<char>(front);
6183
834
            m_data[1] = static_cast<char>(front >> 8);
6184
834
            m_data[2] = static_cast<char>(front >> 16);
6185
834
            m_data[3] = static_cast<char>(front >> 24);
6186
834
        }
6187
834
    }
6188
6189
    constexpr size_t size() const
6190
4.66k
    {
6191
4.66k
        return m_size;
6192
4.66k
    }
6193
6194
    template <typename CharT>
6195
    CharT get_code_unit() const
6196
3.85k
    {
6197
3.85k
        SCN_EXPECT(m_size <= sizeof(CharT));
6198
3.85k
        CharT r{};
6199
3.85k
        std::memcpy(&r, m_data, m_size);
6200
3.85k
        return r;
6201
3.85k
    }
char scn::v3::detail::fill_type::get_code_unit<char>() const
Line
Count
Source
6196
2.86k
    {
6197
2.86k
        SCN_EXPECT(m_size <= sizeof(CharT));
6198
2.86k
        CharT r{};
6199
2.86k
        std::memcpy(&r, m_data, m_size);
6200
2.86k
        return r;
6201
2.86k
    }
wchar_t scn::v3::detail::fill_type::get_code_unit<wchar_t>() const
Line
Count
Source
6196
990
    {
6197
990
        SCN_EXPECT(m_size <= sizeof(CharT));
6198
990
        CharT r{};
6199
990
        std::memcpy(&r, m_data, m_size);
6200
990
        return r;
6201
990
    }
6202
6203
    template <typename CharT>
6204
    std::basic_string_view<CharT> get_code_units() const
6205
808
    {
6206
808
        return {reinterpret_cast<const CharT*>(m_data), m_size};
6207
808
    }
std::__1::basic_string_view<char, std::__1::char_traits<char> > scn::v3::detail::fill_type::get_code_units<char>() const
Line
Count
Source
6205
808
    {
6206
808
        return {reinterpret_cast<const CharT*>(m_data), m_size};
6207
808
    }
Unexecuted instantiation: std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > scn::v3::detail::fill_type::get_code_units<wchar_t>() const
6208
6209
private:
6210
    static constexpr size_t max_size = 4;
6211
    char m_data[max_size] = {' '};
6212
    unsigned char m_size{1};
6213
};
6214
6215
struct format_specs {
6216
    int width{0}, precision{0};
6217
    fill_type fill{};
6218
    presentation_type type{presentation_type::none};
6219
    std::array<uint8_t, 128 / 8> charset_literals{0};
6220
    bool charset_has_nonascii{false}, charset_is_inverted{false};
6221
    const void* charset_string_data{nullptr};
6222
    size_t charset_string_size{0};
6223
    regex_flags regexp_flags{regex_flags::none};
6224
    unsigned char arbitrary_base{0};
6225
    align_type align{align_type::none};
6226
    bool localized{false};
6227
6228
    constexpr format_specs() = default;
6229
6230
    SCN_NODISCARD constexpr int get_base() const
6231
862k
    {
6232
862k
        SCN_GCC_COMPAT_PUSH
6233
862k
        SCN_GCC_COMPAT_IGNORE("-Wswitch-enum")
6234
862k
        switch (type) {
6235
162k
            case presentation_type::none:
6236
162k
                return 10;
6237
178k
            case presentation_type::int_generic:
6238
178k
                return 0;
6239
0
            case presentation_type::int_arbitrary_base:
6240
0
                return arbitrary_base;
6241
6242
78.3k
            case presentation_type::int_binary:
6243
78.3k
                return 2;
6244
113k
            case presentation_type::int_octal:
6245
113k
                return 8;
6246
160k
            case presentation_type::int_decimal:
6247
160k
            case presentation_type::int_unsigned_decimal:
6248
160k
                return 10;
6249
169k
            case presentation_type::int_hex:
6250
169k
                return 16;
6251
6252
0
            default:
6253
0
                SCN_EXPECT(false);
6254
862k
                SCN_UNREACHABLE;
6255
862k
        }
6256
862k
        SCN_GCC_COMPAT_POP
6257
862k
    }
6258
6259
    template <typename CharT>
6260
    std::basic_string_view<CharT> charset_string() const
6261
22.4k
    {
6262
22.4k
        return {reinterpret_cast<const CharT*>(charset_string_data),
6263
22.4k
                charset_string_size};
6264
22.4k
    }
std::__1::basic_string_view<char, std::__1::char_traits<char> > scn::v3::detail::format_specs::charset_string<char>() const
Line
Count
Source
6261
15.0k
    {
6262
15.0k
        return {reinterpret_cast<const CharT*>(charset_string_data),
6263
15.0k
                charset_string_size};
6264
15.0k
    }
std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > scn::v3::detail::format_specs::charset_string<wchar_t>() const
Line
Count
Source
6261
7.36k
    {
6262
7.36k
        return {reinterpret_cast<const CharT*>(charset_string_data),
6263
7.36k
                charset_string_size};
6264
7.36k
    }
6265
};
6266
6267
struct specs_setter {
6268
public:
6269
4.77M
    explicit constexpr specs_setter(format_specs& specs) : m_specs(specs) {}
6270
6271
    constexpr void on_align(align_type align)
6272
10.5k
    {
6273
10.5k
        m_specs.align = align;
6274
10.5k
    }
6275
    template <typename CharT>
6276
    constexpr void on_fill(std::basic_string_view<CharT> fill)
6277
6.42k
    {
6278
6.42k
        m_specs.fill = fill;
6279
6.42k
    }
void scn::v3::detail::specs_setter::on_fill<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Line
Count
Source
6277
5.59k
    {
6278
5.59k
        m_specs.fill = fill;
6279
5.59k
    }
void scn::v3::detail::specs_setter::on_fill<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
Line
Count
Source
6277
834
    {
6278
834
        m_specs.fill = fill;
6279
834
    }
6280
    template <bool Dependent = true>
6281
    constexpr void on_localized()
6282
815k
    {
6283
815k
        if constexpr (!SCN_DISABLE_LOCALE) {
6284
815k
            m_specs.localized = true;
6285
        }
6286
        else {
6287
            on_error("'L' flag invalid when SCN_DISABLE_LOCALE is on");
6288
        }
6289
815k
    }
6290
6291
    constexpr void on_width(int width)
6292
51.2k
    {
6293
51.2k
        if (m_specs.precision != 0 && width > m_specs.precision) {
6294
            // clang-format off
6295
0
            return this->on_error("Width (i.e., minimum field length) cannot be larger than precision (i.e., maximum field length)");
6296
            // clang-format on
6297
0
        }
6298
6299
51.2k
        m_specs.width = width;
6300
51.2k
    }
6301
    constexpr void on_precision(int prec)
6302
10.7k
    {
6303
10.7k
        if (m_specs.width > prec) {
6304
            // clang-format off
6305
68
            return this->on_error("Width (i.e., minimum field length) cannot be larger than precision (i.e., maximum field length)");
6306
            // clang-format on
6307
68
        }
6308
6309
10.6k
        m_specs.precision = prec;
6310
10.6k
    }
6311
6312
    constexpr void on_type(presentation_type type)
6313
3.83M
    {
6314
3.83M
        m_specs.type = type;
6315
3.83M
    }
6316
6317
    constexpr void on_charset_single(char32_t cp)
6318
1.25M
    {
6319
1.25M
        const auto cp_value = static_cast<unsigned>(cp);
6320
1.25M
        if (SCN_LIKELY(cp_value <= 127)) {
6321
1.06M
            m_specs.charset_literals[cp_value / 8] |=
6322
1.06M
                static_cast<unsigned char>(1ul << (cp_value % 8));
6323
1.06M
        }
6324
182k
        else {
6325
182k
            m_specs.charset_has_nonascii = true;
6326
182k
        }
6327
1.25M
    }
6328
6329
    constexpr void on_charset_range(char32_t begin, char32_t end)
6330
52.8k
    {
6331
52.8k
        const auto begin_value = static_cast<unsigned>(begin);
6332
52.8k
        const auto end_value = static_cast<unsigned>(end);
6333
52.8k
        SCN_EXPECT(begin_value < end_value);
6334
6335
52.8k
        if (SCN_LIKELY(end_value <= 127)) {
6336
            // No need to bit-twiddle with a mask, because with the
6337
            // SCN_ASSUME, -O3 will optimize this to a single operation
6338
47.9k
            SCN_ASSUME(begin_value < end_value);
6339
1.50M
            for (auto v = begin_value; v != end_value; ++v) {
6340
1.45M
                m_specs.charset_literals[v / 8] |=
6341
1.45M
                    static_cast<unsigned char>(1ul << (v % 8));
6342
1.45M
            }
6343
47.9k
        }
6344
4.85k
        else {
6345
4.85k
            m_specs.charset_has_nonascii = true;
6346
4.85k
        }
6347
52.8k
    }
6348
6349
    constexpr void on_charset_inverted()
6350
3.39k
    {
6351
3.39k
        m_specs.charset_is_inverted = true;
6352
3.39k
    }
6353
6354
    template <typename CharT>
6355
    constexpr void on_character_set_string(std::basic_string_view<CharT> fmt)
6356
34.2k
    {
6357
34.2k
        m_specs.charset_string_data = fmt.data();
6358
34.2k
        m_specs.charset_string_size = fmt.size();
6359
34.2k
        on_type(presentation_type::string_set);
6360
34.2k
    }
void scn::v3::detail::specs_setter::on_character_set_string<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Line
Count
Source
6356
19.1k
    {
6357
19.1k
        m_specs.charset_string_data = fmt.data();
6358
19.1k
        m_specs.charset_string_size = fmt.size();
6359
19.1k
        on_type(presentation_type::string_set);
6360
19.1k
    }
void scn::v3::detail::specs_setter::on_character_set_string<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
Line
Count
Source
6356
15.0k
    {
6357
15.0k
        m_specs.charset_string_data = fmt.data();
6358
15.0k
        m_specs.charset_string_size = fmt.size();
6359
15.0k
        on_type(presentation_type::string_set);
6360
15.0k
    }
6361
6362
    template <typename CharT>
6363
    constexpr void on_regex_pattern(std::basic_string_view<CharT> pattern)
6364
57.4k
    {
6365
57.4k
        m_specs.charset_string_data = pattern.data();
6366
57.4k
        m_specs.charset_string_size = pattern.size();
6367
57.4k
    }
void scn::v3::detail::specs_setter::on_regex_pattern<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Line
Count
Source
6364
36.8k
    {
6365
36.8k
        m_specs.charset_string_data = pattern.data();
6366
36.8k
        m_specs.charset_string_size = pattern.size();
6367
36.8k
    }
void scn::v3::detail::specs_setter::on_regex_pattern<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
Line
Count
Source
6364
20.6k
    {
6365
20.6k
        m_specs.charset_string_data = pattern.data();
6366
20.6k
        m_specs.charset_string_size = pattern.size();
6367
20.6k
    }
6368
    constexpr void on_regex_flags(regex_flags flags)
6369
57.1k
    {
6370
57.1k
        m_specs.regexp_flags = flags;
6371
57.1k
    }
6372
6373
    // Intentionally not constexpr
6374
    void on_error(const char* msg)
6375
149k
    {
6376
149k
        SCN_UNLIKELY_ATTR
6377
149k
        m_error = scan_error{scan_error::invalid_format_string, msg};
6378
149k
    }
6379
    void on_error(scan_error err)
6380
0
    {
6381
0
        SCN_LIKELY(err);
6382
0
        m_error = err;
6383
0
    }
6384
6385
    constexpr explicit operator bool() const
6386
6.00M
    {
6387
6.00M
        return static_cast<bool>(m_error);
6388
6.00M
    }
6389
6390
    constexpr scan_error get_error() const
6391
0
    {
6392
0
        return m_error;
6393
0
    }
6394
6395
protected:
6396
    format_specs& m_specs;
6397
    scan_error m_error;
6398
};
6399
6400
template <typename CharT>
6401
constexpr int parse_simple_int(const CharT*& begin, const CharT* end)
6402
62.6k
{
6403
62.6k
    SCN_EXPECT(begin != end);
6404
62.6k
    SCN_EXPECT(*begin >= '0' && *begin <= '9');
6405
6406
62.6k
    unsigned long long value = 0;
6407
117k
    do {
6408
117k
        value *= 10;
6409
117k
        value += static_cast<unsigned long long>(*begin - '0');
6410
117k
        if (value >
6411
117k
            static_cast<unsigned long long>(std::numeric_limits<int>::max())) {
6412
178
            return -1;
6413
178
        }
6414
117k
        ++begin;
6415
117k
    } while (begin != end && *begin >= '0' && *begin <= '9');
6416
62.5k
    return static_cast<int>(value);
6417
62.6k
}
int scn::v3::detail::parse_simple_int<char>(char const*&, char const*)
Line
Count
Source
6402
24.1k
{
6403
24.1k
    SCN_EXPECT(begin != end);
6404
24.1k
    SCN_EXPECT(*begin >= '0' && *begin <= '9');
6405
6406
24.1k
    unsigned long long value = 0;
6407
51.9k
    do {
6408
51.9k
        value *= 10;
6409
51.9k
        value += static_cast<unsigned long long>(*begin - '0');
6410
51.9k
        if (value >
6411
51.9k
            static_cast<unsigned long long>(std::numeric_limits<int>::max())) {
6412
116
            return -1;
6413
116
        }
6414
51.8k
        ++begin;
6415
51.8k
    } while (begin != end && *begin >= '0' && *begin <= '9');
6416
23.9k
    return static_cast<int>(value);
6417
24.1k
}
int scn::v3::detail::parse_simple_int<wchar_t>(wchar_t const*&, wchar_t const*)
Line
Count
Source
6402
38.5k
{
6403
38.5k
    SCN_EXPECT(begin != end);
6404
38.5k
    SCN_EXPECT(*begin >= '0' && *begin <= '9');
6405
6406
38.5k
    unsigned long long value = 0;
6407
65.9k
    do {
6408
65.9k
        value *= 10;
6409
65.9k
        value += static_cast<unsigned long long>(*begin - '0');
6410
65.9k
        if (value >
6411
65.9k
            static_cast<unsigned long long>(std::numeric_limits<int>::max())) {
6412
62
            return -1;
6413
62
        }
6414
65.9k
        ++begin;
6415
65.9k
    } while (begin != end && *begin >= '0' && *begin <= '9');
6416
38.5k
    return static_cast<int>(value);
6417
38.5k
}
6418
6419
template <typename CharT, typename IDHandler>
6420
constexpr const CharT* do_parse_arg_id(const CharT* begin,
6421
                                       const CharT* end,
6422
                                       IDHandler&& handler)
6423
38.3k
{
6424
38.3k
    SCN_EXPECT(begin != end);
6425
6426
38.3k
    CharT c = *begin;
6427
38.3k
    if (c < CharT{'0'} || c > CharT{'9'}) {
6428
35.1k
        handler.on_error("Invalid argument ID");
6429
35.1k
        return begin;
6430
35.1k
    }
6431
6432
3.26k
    int idx = 0;
6433
3.26k
    if (c != CharT{'0'}) {
6434
584
        idx = parse_simple_int(begin, end);
6435
584
    }
6436
2.68k
    else {
6437
2.68k
        ++begin;
6438
2.68k
    }
6439
6440
3.26k
    if (begin == end || (*begin != CharT{'}'} && *begin != CharT{':'})) {
6441
386
        handler.on_error("Invalid argument ID");
6442
386
        return begin;
6443
386
    }
6444
2.87k
    handler(idx);
6445
6446
2.87k
    return begin;
6447
3.26k
}
impl.cpp:char const* scn::v3::detail::do_parse_arg_id<char, scn::v3::detail::parse_replacement_field<char, scn::v3::(anonymous namespace)::format_handler<true, char> >(char const*, char const*, scn::v3::(anonymous namespace)::format_handler<true, char>&)::id_adapter&>(char const*, char const*, scn::v3::(anonymous namespace)::format_handler<true, char>&&)
Line
Count
Source
6423
37.6k
{
6424
37.6k
    SCN_EXPECT(begin != end);
6425
6426
37.6k
    CharT c = *begin;
6427
37.6k
    if (c < CharT{'0'} || c > CharT{'9'}) {
6428
34.8k
        handler.on_error("Invalid argument ID");
6429
34.8k
        return begin;
6430
34.8k
    }
6431
6432
2.80k
    int idx = 0;
6433
2.80k
    if (c != CharT{'0'}) {
6434
306
        idx = parse_simple_int(begin, end);
6435
306
    }
6436
2.50k
    else {
6437
2.50k
        ++begin;
6438
2.50k
    }
6439
6440
2.80k
    if (begin == end || (*begin != CharT{'}'} && *begin != CharT{':'})) {
6441
200
        handler.on_error("Invalid argument ID");
6442
200
        return begin;
6443
200
    }
6444
2.60k
    handler(idx);
6445
6446
2.60k
    return begin;
6447
2.80k
}
Unexecuted instantiation: impl.cpp:char const* scn::v3::detail::do_parse_arg_id<char, scn::v3::detail::parse_replacement_field<char, scn::v3::(anonymous namespace)::format_handler<false, char> >(char const*, char const*, scn::v3::(anonymous namespace)::format_handler<false, char>&)::id_adapter&>(char const*, char const*, scn::v3::(anonymous namespace)::format_handler<false, char>&&)
impl.cpp:wchar_t const* scn::v3::detail::do_parse_arg_id<wchar_t, scn::v3::detail::parse_replacement_field<wchar_t, scn::v3::(anonymous namespace)::format_handler<true, wchar_t> >(wchar_t const*, wchar_t const*, scn::v3::(anonymous namespace)::format_handler<true, wchar_t>&)::id_adapter&>(wchar_t const*, wchar_t const*, scn::v3::(anonymous namespace)::format_handler<true, wchar_t>&&)
Line
Count
Source
6423
726
{
6424
726
    SCN_EXPECT(begin != end);
6425
6426
726
    CharT c = *begin;
6427
726
    if (c < CharT{'0'} || c > CharT{'9'}) {
6428
270
        handler.on_error("Invalid argument ID");
6429
270
        return begin;
6430
270
    }
6431
6432
456
    int idx = 0;
6433
456
    if (c != CharT{'0'}) {
6434
278
        idx = parse_simple_int(begin, end);
6435
278
    }
6436
178
    else {
6437
178
        ++begin;
6438
178
    }
6439
6440
456
    if (begin == end || (*begin != CharT{'}'} && *begin != CharT{':'})) {
6441
186
        handler.on_error("Invalid argument ID");
6442
186
        return begin;
6443
186
    }
6444
270
    handler(idx);
6445
6446
270
    return begin;
6447
456
}
Unexecuted instantiation: impl.cpp:wchar_t const* scn::v3::detail::do_parse_arg_id<wchar_t, scn::v3::detail::parse_replacement_field<wchar_t, scn::v3::(anonymous namespace)::format_handler<false, wchar_t> >(wchar_t const*, wchar_t const*, scn::v3::(anonymous namespace)::format_handler<false, wchar_t>&)::id_adapter&>(wchar_t const*, wchar_t const*, scn::v3::(anonymous namespace)::format_handler<false, wchar_t>&&)
6448
6449
template <typename CharT, typename IDHandler>
6450
constexpr const CharT* parse_arg_id(const CharT* begin,
6451
                                    const CharT* end,
6452
                                    IDHandler&& handler)
6453
4.80M
{
6454
4.80M
    SCN_EXPECT(begin != end);
6455
4.80M
    if (*begin != '}' && *begin != ':') {
6456
38.3k
        return do_parse_arg_id(begin, end, SCN_FWD(handler));
6457
38.3k
    }
6458
6459
4.77M
    handler();
6460
4.77M
    return begin;
6461
4.80M
}
impl.cpp:char const* scn::v3::detail::parse_arg_id<char, scn::v3::detail::parse_replacement_field<char, scn::v3::(anonymous namespace)::format_handler<true, char> >(char const*, char const*, scn::v3::(anonymous namespace)::format_handler<true, char>&)::id_adapter&>(char const*, char const*, scn::v3::(anonymous namespace)::format_handler<true, char>&&)
Line
Count
Source
6453
1.29M
{
6454
1.29M
    SCN_EXPECT(begin != end);
6455
1.29M
    if (*begin != '}' && *begin != ':') {
6456
37.6k
        return do_parse_arg_id(begin, end, SCN_FWD(handler));
6457
37.6k
    }
6458
6459
1.25M
    handler();
6460
1.25M
    return begin;
6461
1.29M
}
impl.cpp:char const* scn::v3::detail::parse_arg_id<char, scn::v3::detail::parse_replacement_field<char, scn::v3::(anonymous namespace)::format_handler<false, char> >(char const*, char const*, scn::v3::(anonymous namespace)::format_handler<false, char>&)::id_adapter&>(char const*, char const*, scn::v3::(anonymous namespace)::format_handler<false, char>&&)
Line
Count
Source
6453
1.28M
{
6454
1.28M
    SCN_EXPECT(begin != end);
6455
1.28M
    if (*begin != '}' && *begin != ':') {
6456
0
        return do_parse_arg_id(begin, end, SCN_FWD(handler));
6457
0
    }
6458
6459
1.28M
    handler();
6460
1.28M
    return begin;
6461
1.28M
}
impl.cpp:wchar_t const* scn::v3::detail::parse_arg_id<wchar_t, scn::v3::detail::parse_replacement_field<wchar_t, scn::v3::(anonymous namespace)::format_handler<true, wchar_t> >(wchar_t const*, wchar_t const*, scn::v3::(anonymous namespace)::format_handler<true, wchar_t>&)::id_adapter&>(wchar_t const*, wchar_t const*, scn::v3::(anonymous namespace)::format_handler<true, wchar_t>&&)
Line
Count
Source
6453
1.30M
{
6454
1.30M
    SCN_EXPECT(begin != end);
6455
1.30M
    if (*begin != '}' && *begin != ':') {
6456
726
        return do_parse_arg_id(begin, end, SCN_FWD(handler));
6457
726
    }
6458
6459
1.30M
    handler();
6460
1.30M
    return begin;
6461
1.30M
}
impl.cpp:wchar_t const* scn::v3::detail::parse_arg_id<wchar_t, scn::v3::detail::parse_replacement_field<wchar_t, scn::v3::(anonymous namespace)::format_handler<false, wchar_t> >(wchar_t const*, wchar_t const*, scn::v3::(anonymous namespace)::format_handler<false, wchar_t>&)::id_adapter&>(wchar_t const*, wchar_t const*, scn::v3::(anonymous namespace)::format_handler<false, wchar_t>&&)
Line
Count
Source
6453
921k
{
6454
921k
    SCN_EXPECT(begin != end);
6455
921k
    if (*begin != '}' && *begin != ':') {
6456
0
        return do_parse_arg_id(begin, end, SCN_FWD(handler));
6457
0
    }
6458
6459
921k
    handler();
6460
921k
    return begin;
6461
921k
}
6462
6463
template <typename CharT>
6464
constexpr presentation_type parse_presentation_type(CharT type)
6465
3.83M
{
6466
3.83M
    switch (type) {
6467
80.0k
        case 'b':
6468
130k
        case 'B':
6469
130k
            return presentation_type::int_binary;
6470
164k
        case 'd':
6471
164k
            return presentation_type::int_decimal;
6472
182k
        case 'i':
6473
182k
            return presentation_type::int_generic;
6474
194
        case 'u':
6475
194
            return presentation_type::int_unsigned_decimal;
6476
116k
        case 'o':
6477
116k
            return presentation_type::int_octal;
6478
172k
        case 'x':
6479
172k
        case 'X':
6480
172k
            return presentation_type::int_hex;
6481
68
        case 'r':
6482
142
        case 'R':
6483
142
            return presentation_type::int_arbitrary_base;
6484
712k
        case 'a':
6485
712k
        case 'A':
6486
712k
            return presentation_type::float_hex;
6487
96.8k
        case 'e':
6488
96.9k
        case 'E':
6489
96.9k
            return presentation_type::float_scientific;
6490
384k
        case 'f':
6491
384k
        case 'F':
6492
384k
            return presentation_type::float_fixed;
6493
571k
        case 'g':
6494
571k
        case 'G':
6495
571k
            return presentation_type::float_general;
6496
1.16M
        case 's':
6497
1.16M
            return presentation_type::string;
6498
19.1k
        case 'c':
6499
19.1k
            return presentation_type::character;
6500
68
        case '?':
6501
68
            return presentation_type::escaped_character;
6502
166
        case 'p':
6503
166
            return presentation_type::pointer;
6504
0
        case '[':
6505
0
        case '/':
6506
            // Should be handled by parse_presentation_set and
6507
            // parse_presentation_regex
6508
0
            SCN_EXPECT(false);
6509
0
            SCN_UNREACHABLE;
6510
121k
        default:
6511
121k
            return presentation_type::none;
6512
3.83M
    }
6513
3.83M
}
scn::v3::detail::presentation_type scn::v3::detail::parse_presentation_type<char>(char)
Line
Count
Source
6465
1.89M
{
6466
1.89M
    switch (type) {
6467
45.5k
        case 'b':
6468
62.5k
        case 'B':
6469
62.5k
            return presentation_type::int_binary;
6470
129k
        case 'd':
6471
129k
            return presentation_type::int_decimal;
6472
147k
        case 'i':
6473
147k
            return presentation_type::int_generic;
6474
70
        case 'u':
6475
70
            return presentation_type::int_unsigned_decimal;
6476
81.6k
        case 'o':
6477
81.6k
            return presentation_type::int_octal;
6478
137k
        case 'x':
6479
137k
        case 'X':
6480
137k
            return presentation_type::int_hex;
6481
34
        case 'r':
6482
68
        case 'R':
6483
68
            return presentation_type::int_arbitrary_base;
6484
495k
        case 'a':
6485
495k
        case 'A':
6486
495k
            return presentation_type::float_hex;
6487
41.8k
        case 'e':
6488
41.9k
        case 'E':
6489
41.9k
            return presentation_type::float_scientific;
6490
220k
        case 'f':
6491
220k
        case 'F':
6492
220k
            return presentation_type::float_fixed;
6493
380k
        case 'g':
6494
380k
        case 'G':
6495
380k
            return presentation_type::float_general;
6496
151k
        case 's':
6497
151k
            return presentation_type::string;
6498
6.52k
        case 'c':
6499
6.52k
            return presentation_type::character;
6500
34
        case '?':
6501
34
            return presentation_type::escaped_character;
6502
78
        case 'p':
6503
78
            return presentation_type::pointer;
6504
0
        case '[':
6505
0
        case '/':
6506
            // Should be handled by parse_presentation_set and
6507
            // parse_presentation_regex
6508
0
            SCN_EXPECT(false);
6509
0
            SCN_UNREACHABLE;
6510
40.6k
        default:
6511
40.6k
            return presentation_type::none;
6512
1.89M
    }
6513
1.89M
}
scn::v3::detail::presentation_type scn::v3::detail::parse_presentation_type<wchar_t>(wchar_t)
Line
Count
Source
6465
1.94M
{
6466
1.94M
    switch (type) {
6467
34.4k
        case 'b':
6468
68.3k
        case 'B':
6469
68.3k
            return presentation_type::int_binary;
6470
34.9k
        case 'd':
6471
34.9k
            return presentation_type::int_decimal;
6472
35.0k
        case 'i':
6473
35.0k
            return presentation_type::int_generic;
6474
124
        case 'u':
6475
124
            return presentation_type::int_unsigned_decimal;
6476
34.6k
        case 'o':
6477
34.6k
            return presentation_type::int_octal;
6478
35.0k
        case 'x':
6479
35.1k
        case 'X':
6480
35.1k
            return presentation_type::int_hex;
6481
34
        case 'r':
6482
74
        case 'R':
6483
74
            return presentation_type::int_arbitrary_base;
6484
217k
        case 'a':
6485
217k
        case 'A':
6486
217k
            return presentation_type::float_hex;
6487
55.0k
        case 'e':
6488
55.0k
        case 'E':
6489
55.0k
            return presentation_type::float_scientific;
6490
163k
        case 'f':
6491
163k
        case 'F':
6492
163k
            return presentation_type::float_fixed;
6493
190k
        case 'g':
6494
191k
        case 'G':
6495
191k
            return presentation_type::float_general;
6496
1.01M
        case 's':
6497
1.01M
            return presentation_type::string;
6498
12.6k
        case 'c':
6499
12.6k
            return presentation_type::character;
6500
34
        case '?':
6501
34
            return presentation_type::escaped_character;
6502
88
        case 'p':
6503
88
            return presentation_type::pointer;
6504
0
        case '[':
6505
0
        case '/':
6506
            // Should be handled by parse_presentation_set and
6507
            // parse_presentation_regex
6508
0
            SCN_EXPECT(false);
6509
0
            SCN_UNREACHABLE;
6510
80.6k
        default:
6511
80.6k
            return presentation_type::none;
6512
1.94M
    }
6513
1.94M
}
6514
6515
template <typename CharT>
6516
constexpr bool is_ascii_letter(CharT ch)
6517
4.52M
{
6518
4.52M
    return (ch >= CharT{'a'} && ch <= CharT{'z'}) ||
6519
4.52M
           (ch >= CharT{'A'} && ch <= CharT{'Z'});
6520
4.52M
}
bool scn::v3::detail::is_ascii_letter<char>(char)
Line
Count
Source
6517
2.43M
{
6518
2.43M
    return (ch >= CharT{'a'} && ch <= CharT{'z'}) ||
6519
2.43M
           (ch >= CharT{'A'} && ch <= CharT{'Z'});
6520
2.43M
}
bool scn::v3::detail::is_ascii_letter<wchar_t>(wchar_t)
Line
Count
Source
6517
2.09M
{
6518
2.09M
    return (ch >= CharT{'a'} && ch <= CharT{'z'}) ||
6519
2.09M
           (ch >= CharT{'A'} && ch <= CharT{'Z'});
6520
2.09M
}
6521
6522
template <typename CharT>
6523
constexpr int code_point_length(const CharT* begin, const CharT* end)
6524
1.13M
{
6525
1.13M
    SCN_EXPECT(begin != end);
6526
1.13M
    if constexpr (sizeof(CharT) != 1) {
6527
415k
        return 1;
6528
    }
6529
717k
    else {
6530
717k
        const auto lengths =
6531
717k
            "\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\0\0\0\0\0\0\0\0\2\2\2\2\3"
6532
717k
            "\3\4";
6533
717k
        const int len = lengths[static_cast<unsigned char>(*begin) >> 3];
6534
717k
        return len;
6535
717k
    }
6536
1.13M
}
int scn::v3::detail::code_point_length<char>(char const*, char const*)
Line
Count
Source
6524
717k
{
6525
717k
    SCN_EXPECT(begin != end);
6526
    if constexpr (sizeof(CharT) != 1) {
6527
        return 1;
6528
    }
6529
717k
    else {
6530
717k
        const auto lengths =
6531
717k
            "\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\0\0\0\0\0\0\0\0\2\2\2\2\3"
6532
717k
            "\3\4";
6533
717k
        const int len = lengths[static_cast<unsigned char>(*begin) >> 3];
6534
717k
        return len;
6535
717k
    }
6536
717k
}
int scn::v3::detail::code_point_length<wchar_t>(wchar_t const*, wchar_t const*)
Line
Count
Source
6524
415k
{
6525
415k
    SCN_EXPECT(begin != end);
6526
415k
    if constexpr (sizeof(CharT) != 1) {
6527
415k
        return 1;
6528
    }
6529
    else {
6530
        const auto lengths =
6531
            "\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\0\0\0\0\0\0\0\0\2\2\2\2\3"
6532
            "\3\4";
6533
        const int len = lengths[static_cast<unsigned char>(*begin) >> 3];
6534
        return len;
6535
    }
6536
415k
}
6537
6538
template <typename CharT, typename Handler>
6539
constexpr const CharT* parse_align(const CharT* begin,
6540
                                   const CharT* end,
6541
                                   Handler&& handler)
6542
1.13M
{
6543
1.13M
    SCN_EXPECT(begin != end);
6544
6545
2.26M
    auto check_align = [](wchar_t ch) {
6546
2.26M
        switch (ch) {
6547
2.13k
            case L'<':
6548
2.13k
                return align_type::left;
6549
1.20k
            case L'>':
6550
1.20k
                return align_type::right;
6551
8.76k
            case L'^':
6552
8.76k
                return align_type::center;
6553
2.25M
            default:
6554
2.25M
                return align_type::none;
6555
2.26M
        }
6556
2.26M
    };
impl.cpp:scn::v3::detail::parse_align<char, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<char> > >&>(char const*, char const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<char> > >&)::{lambda(wchar_t)#1}::operator()(wchar_t) const
Line
Count
Source
6545
742k
    auto check_align = [](wchar_t ch) {
6546
742k
        switch (ch) {
6547
1.27k
            case L'<':
6548
1.27k
                return align_type::left;
6549
976
            case L'>':
6550
976
                return align_type::right;
6551
7.31k
            case L'^':
6552
7.31k
                return align_type::center;
6553
733k
            default:
6554
733k
                return align_type::none;
6555
742k
        }
6556
742k
    };
impl.cpp:scn::v3::detail::parse_align<char, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<char> > >&>(char const*, char const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<char> > >&)::{lambda(wchar_t)#1}::operator()(wchar_t) const
Line
Count
Source
6545
690k
    auto check_align = [](wchar_t ch) {
6546
690k
        switch (ch) {
6547
0
            case L'<':
6548
0
                return align_type::left;
6549
0
            case L'>':
6550
0
                return align_type::right;
6551
0
            case L'^':
6552
0
                return align_type::center;
6553
690k
            default:
6554
690k
                return align_type::none;
6555
690k
        }
6556
690k
    };
impl.cpp:scn::v3::detail::parse_align<wchar_t, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<wchar_t> > >&>(wchar_t const*, wchar_t const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<wchar_t> > >&)::{lambda(wchar_t)#1}::operator()(wchar_t) const
Line
Count
Source
6545
462k
    auto check_align = [](wchar_t ch) {
6546
462k
        switch (ch) {
6547
860
            case L'<':
6548
860
                return align_type::left;
6549
230
            case L'>':
6550
230
                return align_type::right;
6551
1.44k
            case L'^':
6552
1.44k
                return align_type::center;
6553
459k
            default:
6554
459k
                return align_type::none;
6555
462k
        }
6556
462k
    };
impl.cpp:scn::v3::detail::parse_align<wchar_t, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<wchar_t> > >&>(wchar_t const*, wchar_t const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<wchar_t> > >&)::{lambda(wchar_t)#1}::operator()(wchar_t) const
Line
Count
Source
6545
368k
    auto check_align = [](wchar_t ch) {
6546
368k
        switch (ch) {
6547
0
            case L'<':
6548
0
                return align_type::left;
6549
0
            case L'>':
6550
0
                return align_type::right;
6551
0
            case L'^':
6552
0
                return align_type::center;
6553
368k
            default:
6554
368k
                return align_type::none;
6555
368k
        }
6556
368k
    };
6557
6558
1.13M
    auto potential_fill_len = code_point_length(begin, end);
6559
1.13M
    if (SCN_UNLIKELY(potential_fill_len == 0 ||
6560
1.13M
                     std::distance(begin, end) < potential_fill_len)) {
6561
60
        handler.on_error("Invalid encoding in fill character");
6562
60
        return begin;
6563
60
    }
6564
6565
1.13M
    auto potential_align_on_fill = check_align(static_cast<wchar_t>(*begin));
6566
6567
1.13M
    auto potential_fill = std::basic_string_view<CharT>{
6568
1.13M
        begin, static_cast<size_t>(potential_fill_len)};
6569
1.13M
    const auto begin_before_fill = begin;
6570
1.13M
    begin += potential_fill_len;
6571
6572
1.13M
    if (begin == end) {
6573
1.96k
        return begin_before_fill;
6574
1.96k
    }
6575
6576
1.13M
    auto potential_align_after_fill = check_align(static_cast<wchar_t>(*begin));
6577
1.13M
    const auto begin_after_fill = begin;
6578
1.13M
    ++begin;
6579
6580
1.13M
    if (potential_fill_len == 1) {
6581
1.12M
        if (SCN_UNLIKELY(potential_fill[0] == '{')) {
6582
102
            handler.on_error("Invalid fill character '{' in format string");
6583
102
            return begin;
6584
102
        }
6585
1.12M
        if (potential_fill[0] == '[') {
6586
31.3k
            return begin_before_fill;
6587
31.3k
        }
6588
1.12M
    }
6589
6590
1.09M
    if (potential_align_after_fill == align_type::none) {
6591
1.09M
        if (potential_align_on_fill != align_type::none) {
6592
4.15k
            handler.on_align(potential_align_on_fill);
6593
4.15k
            return begin_after_fill;
6594
4.15k
        }
6595
1.08M
        return begin_before_fill;
6596
1.09M
    }
6597
6598
6.42k
    handler.on_fill(potential_fill);
6599
6.42k
    handler.on_align(potential_align_after_fill);
6600
6.42k
    return begin;
6601
1.09M
}
impl.cpp:char const* scn::v3::detail::parse_align<char, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<char> > >&>(char const*, char const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<char> > >&)
Line
Count
Source
6542
371k
{
6543
371k
    SCN_EXPECT(begin != end);
6544
6545
371k
    auto check_align = [](wchar_t ch) {
6546
371k
        switch (ch) {
6547
371k
            case L'<':
6548
371k
                return align_type::left;
6549
371k
            case L'>':
6550
371k
                return align_type::right;
6551
371k
            case L'^':
6552
371k
                return align_type::center;
6553
371k
            default:
6554
371k
                return align_type::none;
6555
371k
        }
6556
371k
    };
6557
6558
371k
    auto potential_fill_len = code_point_length(begin, end);
6559
371k
    if (SCN_UNLIKELY(potential_fill_len == 0 ||
6560
371k
                     std::distance(begin, end) < potential_fill_len)) {
6561
60
        handler.on_error("Invalid encoding in fill character");
6562
60
        return begin;
6563
60
    }
6564
6565
371k
    auto potential_align_on_fill = check_align(static_cast<wchar_t>(*begin));
6566
6567
371k
    auto potential_fill = std::basic_string_view<CharT>{
6568
371k
        begin, static_cast<size_t>(potential_fill_len)};
6569
371k
    const auto begin_before_fill = begin;
6570
371k
    begin += potential_fill_len;
6571
6572
371k
    if (begin == end) {
6573
1.04k
        return begin_before_fill;
6574
1.04k
    }
6575
6576
370k
    auto potential_align_after_fill = check_align(static_cast<wchar_t>(*begin));
6577
370k
    const auto begin_after_fill = begin;
6578
370k
    ++begin;
6579
6580
370k
    if (potential_fill_len == 1) {
6581
369k
        if (SCN_UNLIKELY(potential_fill[0] == '{')) {
6582
60
            handler.on_error("Invalid fill character '{' in format string");
6583
60
            return begin;
6584
60
        }
6585
369k
        if (potential_fill[0] == '[') {
6586
14.0k
            return begin_before_fill;
6587
14.0k
        }
6588
369k
    }
6589
6590
356k
    if (potential_align_after_fill == align_type::none) {
6591
351k
        if (potential_align_on_fill != align_type::none) {
6592
2.90k
            handler.on_align(potential_align_on_fill);
6593
2.90k
            return begin_after_fill;
6594
2.90k
        }
6595
348k
        return begin_before_fill;
6596
351k
    }
6597
6598
5.59k
    handler.on_fill(potential_fill);
6599
5.59k
    handler.on_align(potential_align_after_fill);
6600
5.59k
    return begin;
6601
356k
}
impl.cpp:char const* scn::v3::detail::parse_align<char, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<char> > >&>(char const*, char const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<char> > >&)
Line
Count
Source
6542
345k
{
6543
345k
    SCN_EXPECT(begin != end);
6544
6545
345k
    auto check_align = [](wchar_t ch) {
6546
345k
        switch (ch) {
6547
345k
            case L'<':
6548
345k
                return align_type::left;
6549
345k
            case L'>':
6550
345k
                return align_type::right;
6551
345k
            case L'^':
6552
345k
                return align_type::center;
6553
345k
            default:
6554
345k
                return align_type::none;
6555
345k
        }
6556
345k
    };
6557
6558
345k
    auto potential_fill_len = code_point_length(begin, end);
6559
345k
    if (SCN_UNLIKELY(potential_fill_len == 0 ||
6560
345k
                     std::distance(begin, end) < potential_fill_len)) {
6561
0
        handler.on_error("Invalid encoding in fill character");
6562
0
        return begin;
6563
0
    }
6564
6565
345k
    auto potential_align_on_fill = check_align(static_cast<wchar_t>(*begin));
6566
6567
345k
    auto potential_fill = std::basic_string_view<CharT>{
6568
345k
        begin, static_cast<size_t>(potential_fill_len)};
6569
345k
    const auto begin_before_fill = begin;
6570
345k
    begin += potential_fill_len;
6571
6572
345k
    if (begin == end) {
6573
0
        return begin_before_fill;
6574
0
    }
6575
6576
345k
    auto potential_align_after_fill = check_align(static_cast<wchar_t>(*begin));
6577
345k
    const auto begin_after_fill = begin;
6578
345k
    ++begin;
6579
6580
345k
    if (potential_fill_len == 1) {
6581
345k
        if (SCN_UNLIKELY(potential_fill[0] == '{')) {
6582
0
            handler.on_error("Invalid fill character '{' in format string");
6583
0
            return begin;
6584
0
        }
6585
345k
        if (potential_fill[0] == '[') {
6586
2.90k
            return begin_before_fill;
6587
2.90k
        }
6588
345k
    }
6589
6590
342k
    if (potential_align_after_fill == align_type::none) {
6591
342k
        if (potential_align_on_fill != align_type::none) {
6592
0
            handler.on_align(potential_align_on_fill);
6593
0
            return begin_after_fill;
6594
0
        }
6595
342k
        return begin_before_fill;
6596
342k
    }
6597
6598
0
    handler.on_fill(potential_fill);
6599
0
    handler.on_align(potential_align_after_fill);
6600
0
    return begin;
6601
342k
}
impl.cpp:wchar_t const* scn::v3::detail::parse_align<wchar_t, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<wchar_t> > >&>(wchar_t const*, wchar_t const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<wchar_t> > >&)
Line
Count
Source
6542
231k
{
6543
231k
    SCN_EXPECT(begin != end);
6544
6545
231k
    auto check_align = [](wchar_t ch) {
6546
231k
        switch (ch) {
6547
231k
            case L'<':
6548
231k
                return align_type::left;
6549
231k
            case L'>':
6550
231k
                return align_type::right;
6551
231k
            case L'^':
6552
231k
                return align_type::center;
6553
231k
            default:
6554
231k
                return align_type::none;
6555
231k
        }
6556
231k
    };
6557
6558
231k
    auto potential_fill_len = code_point_length(begin, end);
6559
231k
    if (SCN_UNLIKELY(potential_fill_len == 0 ||
6560
231k
                     std::distance(begin, end) < potential_fill_len)) {
6561
0
        handler.on_error("Invalid encoding in fill character");
6562
0
        return begin;
6563
0
    }
6564
6565
231k
    auto potential_align_on_fill = check_align(static_cast<wchar_t>(*begin));
6566
6567
231k
    auto potential_fill = std::basic_string_view<CharT>{
6568
231k
        begin, static_cast<size_t>(potential_fill_len)};
6569
231k
    const auto begin_before_fill = begin;
6570
231k
    begin += potential_fill_len;
6571
6572
231k
    if (begin == end) {
6573
926
        return begin_before_fill;
6574
926
    }
6575
6576
230k
    auto potential_align_after_fill = check_align(static_cast<wchar_t>(*begin));
6577
230k
    const auto begin_after_fill = begin;
6578
230k
    ++begin;
6579
6580
230k
    if (potential_fill_len == 1) {
6581
230k
        if (SCN_UNLIKELY(potential_fill[0] == '{')) {
6582
42
            handler.on_error("Invalid fill character '{' in format string");
6583
42
            return begin;
6584
42
        }
6585
230k
        if (potential_fill[0] == '[') {
6586
10.1k
            return begin_before_fill;
6587
10.1k
        }
6588
230k
    }
6589
6590
220k
    if (potential_align_after_fill == align_type::none) {
6591
219k
        if (potential_align_on_fill != align_type::none) {
6592
1.25k
            handler.on_align(potential_align_on_fill);
6593
1.25k
            return begin_after_fill;
6594
1.25k
        }
6595
218k
        return begin_before_fill;
6596
219k
    }
6597
6598
834
    handler.on_fill(potential_fill);
6599
834
    handler.on_align(potential_align_after_fill);
6600
834
    return begin;
6601
220k
}
impl.cpp:wchar_t const* scn::v3::detail::parse_align<wchar_t, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<wchar_t> > >&>(wchar_t const*, wchar_t const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<wchar_t> > >&)
Line
Count
Source
6542
184k
{
6543
184k
    SCN_EXPECT(begin != end);
6544
6545
184k
    auto check_align = [](wchar_t ch) {
6546
184k
        switch (ch) {
6547
184k
            case L'<':
6548
184k
                return align_type::left;
6549
184k
            case L'>':
6550
184k
                return align_type::right;
6551
184k
            case L'^':
6552
184k
                return align_type::center;
6553
184k
            default:
6554
184k
                return align_type::none;
6555
184k
        }
6556
184k
    };
6557
6558
184k
    auto potential_fill_len = code_point_length(begin, end);
6559
184k
    if (SCN_UNLIKELY(potential_fill_len == 0 ||
6560
184k
                     std::distance(begin, end) < potential_fill_len)) {
6561
0
        handler.on_error("Invalid encoding in fill character");
6562
0
        return begin;
6563
0
    }
6564
6565
184k
    auto potential_align_on_fill = check_align(static_cast<wchar_t>(*begin));
6566
6567
184k
    auto potential_fill = std::basic_string_view<CharT>{
6568
184k
        begin, static_cast<size_t>(potential_fill_len)};
6569
184k
    const auto begin_before_fill = begin;
6570
184k
    begin += potential_fill_len;
6571
6572
184k
    if (begin == end) {
6573
0
        return begin_before_fill;
6574
0
    }
6575
6576
184k
    auto potential_align_after_fill = check_align(static_cast<wchar_t>(*begin));
6577
184k
    const auto begin_after_fill = begin;
6578
184k
    ++begin;
6579
6580
184k
    if (potential_fill_len == 1) {
6581
184k
        if (SCN_UNLIKELY(potential_fill[0] == '{')) {
6582
0
            handler.on_error("Invalid fill character '{' in format string");
6583
0
            return begin;
6584
0
        }
6585
184k
        if (potential_fill[0] == '[') {
6586
4.25k
            return begin_before_fill;
6587
4.25k
        }
6588
184k
    }
6589
6590
179k
    if (potential_align_after_fill == align_type::none) {
6591
179k
        if (potential_align_on_fill != align_type::none) {
6592
0
            handler.on_align(potential_align_on_fill);
6593
0
            return begin_after_fill;
6594
0
        }
6595
179k
        return begin_before_fill;
6596
179k
    }
6597
6598
0
    handler.on_fill(potential_fill);
6599
0
    handler.on_align(potential_align_after_fill);
6600
0
    return begin;
6601
179k
}
6602
6603
template <typename CharT, typename Handler>
6604
constexpr const CharT* parse_width(const CharT* begin,
6605
                                   const CharT* end,
6606
                                   Handler&& handler)
6607
1.13M
{
6608
1.13M
    SCN_EXPECT(begin != end);
6609
6610
1.13M
    if (*begin >= CharT{'0'} && *begin <= CharT{'9'}) {
6611
51.3k
        int width = parse_simple_int(begin, end);
6612
51.3k
        if (SCN_LIKELY(width != -1)) {
6613
51.2k
            handler.on_width(width);
6614
51.2k
        }
6615
68
        else {
6616
68
            handler.on_error("Invalid field width");
6617
68
            return begin;
6618
68
        }
6619
51.3k
    }
6620
1.13M
    return begin;
6621
1.13M
}
impl.cpp:char const* scn::v3::detail::parse_width<char, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<char> > >&>(char const*, char const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<char> > >&)
Line
Count
Source
6607
371k
{
6608
371k
    SCN_EXPECT(begin != end);
6609
6610
371k
    if (*begin >= CharT{'0'} && *begin <= CharT{'9'}) {
6611
12.0k
        int width = parse_simple_int(begin, end);
6612
12.0k
        if (SCN_LIKELY(width != -1)) {
6613
12.0k
            handler.on_width(width);
6614
12.0k
        }
6615
34
        else {
6616
34
            handler.on_error("Invalid field width");
6617
34
            return begin;
6618
34
        }
6619
12.0k
    }
6620
371k
    return begin;
6621
371k
}
impl.cpp:char const* scn::v3::detail::parse_width<char, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<char> > >&>(char const*, char const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<char> > >&)
Line
Count
Source
6607
345k
{
6608
345k
    SCN_EXPECT(begin != end);
6609
6610
345k
    if (*begin >= CharT{'0'} && *begin <= CharT{'9'}) {
6611
4.13k
        int width = parse_simple_int(begin, end);
6612
4.13k
        if (SCN_LIKELY(width != -1)) {
6613
4.13k
            handler.on_width(width);
6614
4.13k
        }
6615
0
        else {
6616
0
            handler.on_error("Invalid field width");
6617
0
            return begin;
6618
0
        }
6619
4.13k
    }
6620
345k
    return begin;
6621
345k
}
impl.cpp:wchar_t const* scn::v3::detail::parse_width<wchar_t, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<wchar_t> > >&>(wchar_t const*, wchar_t const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<wchar_t> > >&)
Line
Count
Source
6607
231k
{
6608
231k
    SCN_EXPECT(begin != end);
6609
6610
231k
    if (*begin >= CharT{'0'} && *begin <= CharT{'9'}) {
6611
26.8k
        int width = parse_simple_int(begin, end);
6612
26.8k
        if (SCN_LIKELY(width != -1)) {
6613
26.8k
            handler.on_width(width);
6614
26.8k
        }
6615
34
        else {
6616
34
            handler.on_error("Invalid field width");
6617
34
            return begin;
6618
34
        }
6619
26.8k
    }
6620
231k
    return begin;
6621
231k
}
impl.cpp:wchar_t const* scn::v3::detail::parse_width<wchar_t, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<wchar_t> > >&>(wchar_t const*, wchar_t const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<wchar_t> > >&)
Line
Count
Source
6607
184k
{
6608
184k
    SCN_EXPECT(begin != end);
6609
6610
184k
    if (*begin >= CharT{'0'} && *begin <= CharT{'9'}) {
6611
8.26k
        int width = parse_simple_int(begin, end);
6612
8.26k
        if (SCN_LIKELY(width != -1)) {
6613
8.26k
            handler.on_width(width);
6614
8.26k
        }
6615
0
        else {
6616
0
            handler.on_error("Invalid field width");
6617
0
            return begin;
6618
0
        }
6619
8.26k
    }
6620
184k
    return begin;
6621
184k
}
6622
6623
template <typename CharT, typename Handler>
6624
constexpr const CharT* parse_precision(const CharT* begin,
6625
                                       const CharT* end,
6626
                                       Handler&& handler)
6627
10.9k
{
6628
10.9k
    SCN_EXPECT(begin != end);
6629
6630
10.9k
    if (*begin >= CharT{'0'} && *begin <= CharT{'9'}) {
6631
10.7k
        int prec = parse_simple_int(begin, end);
6632
10.7k
        if (SCN_LIKELY(prec != -1)) {
6633
10.7k
            handler.on_precision(prec);
6634
10.7k
        }
6635
48
        else {
6636
48
            handler.on_error("Invalid field precision");
6637
48
            return begin;
6638
48
        }
6639
10.7k
    }
6640
10.8k
    return begin;
6641
10.9k
}
impl.cpp:char const* scn::v3::detail::parse_precision<char, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<char> > >&>(char const*, char const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<char> > >&)
Line
Count
Source
6627
7.70k
{
6628
7.70k
    SCN_EXPECT(begin != end);
6629
6630
7.70k
    if (*begin >= CharT{'0'} && *begin <= CharT{'9'}) {
6631
7.61k
        int prec = parse_simple_int(begin, end);
6632
7.61k
        if (SCN_LIKELY(prec != -1)) {
6633
7.56k
            handler.on_precision(prec);
6634
7.56k
        }
6635
48
        else {
6636
48
            handler.on_error("Invalid field precision");
6637
48
            return begin;
6638
48
        }
6639
7.61k
    }
6640
7.65k
    return begin;
6641
7.70k
}
Unexecuted instantiation: impl.cpp:char const* scn::v3::detail::parse_precision<char, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<char> > >&>(char const*, char const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<char> > >&)
impl.cpp:wchar_t const* scn::v3::detail::parse_precision<wchar_t, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<wchar_t> > >&>(wchar_t const*, wchar_t const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<wchar_t> > >&)
Line
Count
Source
6627
3.21k
{
6628
3.21k
    SCN_EXPECT(begin != end);
6629
6630
3.21k
    if (*begin >= CharT{'0'} && *begin <= CharT{'9'}) {
6631
3.14k
        int prec = parse_simple_int(begin, end);
6632
3.14k
        if (SCN_LIKELY(prec != -1)) {
6633
3.14k
            handler.on_precision(prec);
6634
3.14k
        }
6635
0
        else {
6636
0
            handler.on_error("Invalid field precision");
6637
0
            return begin;
6638
0
        }
6639
3.14k
    }
6640
3.21k
    return begin;
6641
3.21k
}
Unexecuted instantiation: impl.cpp:wchar_t const* scn::v3::detail::parse_precision<wchar_t, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<wchar_t> > >&>(wchar_t const*, wchar_t const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<wchar_t> > >&)
6642
6643
template <typename CharT, typename SpecHandler>
6644
constexpr char32_t parse_presentation_set_code_point(const CharT*& begin,
6645
                                                     const CharT* end,
6646
                                                     SpecHandler&& handler)
6647
1.77M
{
6648
1.77M
    SCN_EXPECT(begin != end);
6649
6650
1.77M
    auto len = code_point_length_by_starting_code_unit(*begin);
6651
1.77M
    if (SCN_UNLIKELY(len == 0 || static_cast<size_t>(end - begin) < len)) {
6652
114
        handler.on_error("Invalid encoding in format string");
6653
114
        return invalid_code_point;
6654
114
    }
6655
6656
1.77M
    const auto cp =
6657
1.77M
        decode_code_point_exhaustive(std::basic_string_view<CharT>{begin, len});
6658
1.77M
    if (SCN_UNLIKELY(cp >= invalid_code_point)) {
6659
230
        handler.on_error("Invalid encoding in format string");
6660
230
        return invalid_code_point;
6661
230
    }
6662
6663
1.77M
    begin += len;
6664
1.77M
    return cp;
6665
1.77M
}
char32_t scn::v3::detail::parse_presentation_set_code_point<char, scn::v3::impl::nonascii_specs_handler&>(char const*&, char const*, scn::v3::impl::nonascii_specs_handler&)
Line
Count
Source
6647
414k
{
6648
414k
    SCN_EXPECT(begin != end);
6649
6650
414k
    auto len = code_point_length_by_starting_code_unit(*begin);
6651
414k
    if (SCN_UNLIKELY(len == 0 || static_cast<size_t>(end - begin) < len)) {
6652
0
        handler.on_error("Invalid encoding in format string");
6653
0
        return invalid_code_point;
6654
0
    }
6655
6656
414k
    const auto cp =
6657
414k
        decode_code_point_exhaustive(std::basic_string_view<CharT>{begin, len});
6658
414k
    if (SCN_UNLIKELY(cp >= invalid_code_point)) {
6659
0
        handler.on_error("Invalid encoding in format string");
6660
0
        return invalid_code_point;
6661
0
    }
6662
6663
414k
    begin += len;
6664
414k
    return cp;
6665
414k
}
char32_t scn::v3::detail::parse_presentation_set_code_point<wchar_t, scn::v3::impl::nonascii_specs_handler&>(wchar_t const*&, wchar_t const*, scn::v3::impl::nonascii_specs_handler&)
Line
Count
Source
6647
4.97k
{
6648
4.97k
    SCN_EXPECT(begin != end);
6649
6650
4.97k
    auto len = code_point_length_by_starting_code_unit(*begin);
6651
4.97k
    if (SCN_UNLIKELY(len == 0 || static_cast<size_t>(end - begin) < len)) {
6652
0
        handler.on_error("Invalid encoding in format string");
6653
0
        return invalid_code_point;
6654
0
    }
6655
6656
4.97k
    const auto cp =
6657
4.97k
        decode_code_point_exhaustive(std::basic_string_view<CharT>{begin, len});
6658
4.97k
    if (SCN_UNLIKELY(cp >= invalid_code_point)) {
6659
0
        handler.on_error("Invalid encoding in format string");
6660
0
        return invalid_code_point;
6661
0
    }
6662
6663
4.97k
    begin += len;
6664
4.97k
    return cp;
6665
4.97k
}
impl.cpp:char32_t scn::v3::detail::parse_presentation_set_code_point<char, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<char> > >&>(char const*&, char const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<char> > >&)
Line
Count
Source
6647
1.27M
{
6648
1.27M
    SCN_EXPECT(begin != end);
6649
6650
1.27M
    auto len = code_point_length_by_starting_code_unit(*begin);
6651
1.27M
    if (SCN_UNLIKELY(len == 0 || static_cast<size_t>(end - begin) < len)) {
6652
114
        handler.on_error("Invalid encoding in format string");
6653
114
        return invalid_code_point;
6654
114
    }
6655
6656
1.27M
    const auto cp =
6657
1.27M
        decode_code_point_exhaustive(std::basic_string_view<CharT>{begin, len});
6658
1.27M
    if (SCN_UNLIKELY(cp >= invalid_code_point)) {
6659
68
        handler.on_error("Invalid encoding in format string");
6660
68
        return invalid_code_point;
6661
68
    }
6662
6663
1.27M
    begin += len;
6664
1.27M
    return cp;
6665
1.27M
}
impl.cpp:char32_t scn::v3::detail::parse_presentation_set_code_point<char, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<char> > >&>(char const*&, char const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<char> > >&)
Line
Count
Source
6647
11.6k
{
6648
11.6k
    SCN_EXPECT(begin != end);
6649
6650
11.6k
    auto len = code_point_length_by_starting_code_unit(*begin);
6651
11.6k
    if (SCN_UNLIKELY(len == 0 || static_cast<size_t>(end - begin) < len)) {
6652
0
        handler.on_error("Invalid encoding in format string");
6653
0
        return invalid_code_point;
6654
0
    }
6655
6656
11.6k
    const auto cp =
6657
11.6k
        decode_code_point_exhaustive(std::basic_string_view<CharT>{begin, len});
6658
11.6k
    if (SCN_UNLIKELY(cp >= invalid_code_point)) {
6659
0
        handler.on_error("Invalid encoding in format string");
6660
0
        return invalid_code_point;
6661
0
    }
6662
6663
11.6k
    begin += len;
6664
11.6k
    return cp;
6665
11.6k
}
impl.cpp:char32_t scn::v3::detail::parse_presentation_set_code_point<wchar_t, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<wchar_t> > >&>(wchar_t const*&, wchar_t const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<wchar_t> > >&)
Line
Count
Source
6647
54.1k
{
6648
54.1k
    SCN_EXPECT(begin != end);
6649
6650
54.1k
    auto len = code_point_length_by_starting_code_unit(*begin);
6651
54.1k
    if (SCN_UNLIKELY(len == 0 || static_cast<size_t>(end - begin) < len)) {
6652
0
        handler.on_error("Invalid encoding in format string");
6653
0
        return invalid_code_point;
6654
0
    }
6655
6656
54.1k
    const auto cp =
6657
54.1k
        decode_code_point_exhaustive(std::basic_string_view<CharT>{begin, len});
6658
54.1k
    if (SCN_UNLIKELY(cp >= invalid_code_point)) {
6659
162
        handler.on_error("Invalid encoding in format string");
6660
162
        return invalid_code_point;
6661
162
    }
6662
6663
53.9k
    begin += len;
6664
53.9k
    return cp;
6665
54.1k
}
impl.cpp:char32_t scn::v3::detail::parse_presentation_set_code_point<wchar_t, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<wchar_t> > >&>(wchar_t const*&, wchar_t const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<wchar_t> > >&)
Line
Count
Source
6647
17.0k
{
6648
17.0k
    SCN_EXPECT(begin != end);
6649
6650
17.0k
    auto len = code_point_length_by_starting_code_unit(*begin);
6651
17.0k
    if (SCN_UNLIKELY(len == 0 || static_cast<size_t>(end - begin) < len)) {
6652
0
        handler.on_error("Invalid encoding in format string");
6653
0
        return invalid_code_point;
6654
0
    }
6655
6656
17.0k
    const auto cp =
6657
17.0k
        decode_code_point_exhaustive(std::basic_string_view<CharT>{begin, len});
6658
17.0k
    if (SCN_UNLIKELY(cp >= invalid_code_point)) {
6659
0
        handler.on_error("Invalid encoding in format string");
6660
0
        return invalid_code_point;
6661
0
    }
6662
6663
17.0k
    begin += len;
6664
17.0k
    return cp;
6665
17.0k
}
6666
6667
template <typename CharT, typename SpecHandler>
6668
constexpr void parse_presentation_set_literal(const CharT*& begin,
6669
                                              const CharT* end,
6670
                                              SpecHandler&& handler)
6671
1.72M
{
6672
1.72M
    SCN_EXPECT(begin != end);
6673
6674
1.72M
    auto cp_first = parse_presentation_set_code_point(begin, end, handler);
6675
1.72M
    if (SCN_UNLIKELY(cp_first >= invalid_code_point)) {
6676
240
        return;
6677
240
    }
6678
6679
1.72M
    if (begin != end && *begin == CharT{'-'} && (begin + 1) != end &&
6680
1.72M
        *(begin + 1) != CharT{']'}) {
6681
55.8k
        ++begin;
6682
6683
55.8k
        auto cp_second = parse_presentation_set_code_point(begin, end, handler);
6684
55.8k
        if (SCN_UNLIKELY(cp_second >= invalid_code_point)) {
6685
104
            return;
6686
104
        }
6687
6688
55.7k
        if (SCN_UNLIKELY(cp_second < cp_first)) {
6689
            // clang-format off
6690
68
            handler.on_error("Invalid range in [character set] format string argument: Range end before the beginning");
6691
            // clang-format on
6692
68
            return;
6693
68
        }
6694
6695
55.6k
        handler.on_charset_range(cp_first, cp_second + 1);
6696
55.6k
        return;
6697
55.7k
    }
6698
6699
1.66M
    handler.on_charset_single(cp_first);
6700
1.66M
}
void scn::v3::detail::parse_presentation_set_literal<char, scn::v3::impl::nonascii_specs_handler&>(char const*&, char const*, scn::v3::impl::nonascii_specs_handler&)
Line
Count
Source
6671
412k
{
6672
412k
    SCN_EXPECT(begin != end);
6673
6674
412k
    auto cp_first = parse_presentation_set_code_point(begin, end, handler);
6675
412k
    if (SCN_UNLIKELY(cp_first >= invalid_code_point)) {
6676
0
        return;
6677
0
    }
6678
6679
412k
    if (begin != end && *begin == CharT{'-'} && (begin + 1) != end &&
6680
412k
        *(begin + 1) != CharT{']'}) {
6681
2.58k
        ++begin;
6682
6683
2.58k
        auto cp_second = parse_presentation_set_code_point(begin, end, handler);
6684
2.58k
        if (SCN_UNLIKELY(cp_second >= invalid_code_point)) {
6685
0
            return;
6686
0
        }
6687
6688
2.58k
        if (SCN_UNLIKELY(cp_second < cp_first)) {
6689
            // clang-format off
6690
0
            handler.on_error("Invalid range in [character set] format string argument: Range end before the beginning");
6691
            // clang-format on
6692
0
            return;
6693
0
        }
6694
6695
2.58k
        handler.on_charset_range(cp_first, cp_second + 1);
6696
2.58k
        return;
6697
2.58k
    }
6698
6699
409k
    handler.on_charset_single(cp_first);
6700
409k
}
void scn::v3::detail::parse_presentation_set_literal<wchar_t, scn::v3::impl::nonascii_specs_handler&>(wchar_t const*&, wchar_t const*, scn::v3::impl::nonascii_specs_handler&)
Line
Count
Source
6671
4.71k
{
6672
4.71k
    SCN_EXPECT(begin != end);
6673
6674
4.71k
    auto cp_first = parse_presentation_set_code_point(begin, end, handler);
6675
4.71k
    if (SCN_UNLIKELY(cp_first >= invalid_code_point)) {
6676
0
        return;
6677
0
    }
6678
6679
4.71k
    if (begin != end && *begin == CharT{'-'} && (begin + 1) != end &&
6680
4.71k
        *(begin + 1) != CharT{']'}) {
6681
258
        ++begin;
6682
6683
258
        auto cp_second = parse_presentation_set_code_point(begin, end, handler);
6684
258
        if (SCN_UNLIKELY(cp_second >= invalid_code_point)) {
6685
0
            return;
6686
0
        }
6687
6688
258
        if (SCN_UNLIKELY(cp_second < cp_first)) {
6689
            // clang-format off
6690
0
            handler.on_error("Invalid range in [character set] format string argument: Range end before the beginning");
6691
            // clang-format on
6692
0
            return;
6693
0
        }
6694
6695
258
        handler.on_charset_range(cp_first, cp_second + 1);
6696
258
        return;
6697
258
    }
6698
6699
4.45k
    handler.on_charset_single(cp_first);
6700
4.45k
}
impl.cpp:void scn::v3::detail::parse_presentation_set_literal<char, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<char> > >&>(char const*&, char const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<char> > >&)
Line
Count
Source
6671
1.25M
{
6672
1.25M
    SCN_EXPECT(begin != end);
6673
6674
1.25M
    auto cp_first = parse_presentation_set_code_point(begin, end, handler);
6675
1.25M
    if (SCN_UNLIKELY(cp_first >= invalid_code_point)) {
6676
112
        return;
6677
112
    }
6678
6679
1.25M
    if (begin != end && *begin == CharT{'-'} && (begin + 1) != end &&
6680
1.25M
        *(begin + 1) != CharT{']'}) {
6681
20.4k
        ++begin;
6682
6683
20.4k
        auto cp_second = parse_presentation_set_code_point(begin, end, handler);
6684
20.4k
        if (SCN_UNLIKELY(cp_second >= invalid_code_point)) {
6685
70
            return;
6686
70
        }
6687
6688
20.4k
        if (SCN_UNLIKELY(cp_second < cp_first)) {
6689
            // clang-format off
6690
34
            handler.on_error("Invalid range in [character set] format string argument: Range end before the beginning");
6691
            // clang-format on
6692
34
            return;
6693
34
        }
6694
6695
20.3k
        handler.on_charset_range(cp_first, cp_second + 1);
6696
20.3k
        return;
6697
20.4k
    }
6698
6699
1.23M
    handler.on_charset_single(cp_first);
6700
1.23M
}
impl.cpp:void scn::v3::detail::parse_presentation_set_literal<char, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<char> > >&>(char const*&, char const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<char> > >&)
Line
Count
Source
6671
5.81k
{
6672
5.81k
    SCN_EXPECT(begin != end);
6673
6674
5.81k
    auto cp_first = parse_presentation_set_code_point(begin, end, handler);
6675
5.81k
    if (SCN_UNLIKELY(cp_first >= invalid_code_point)) {
6676
0
        return;
6677
0
    }
6678
6679
5.81k
    if (begin != end && *begin == CharT{'-'} && (begin + 1) != end &&
6680
5.81k
        *(begin + 1) != CharT{']'}) {
6681
5.81k
        ++begin;
6682
6683
5.81k
        auto cp_second = parse_presentation_set_code_point(begin, end, handler);
6684
5.81k
        if (SCN_UNLIKELY(cp_second >= invalid_code_point)) {
6685
0
            return;
6686
0
        }
6687
6688
5.81k
        if (SCN_UNLIKELY(cp_second < cp_first)) {
6689
            // clang-format off
6690
0
            handler.on_error("Invalid range in [character set] format string argument: Range end before the beginning");
6691
            // clang-format on
6692
0
            return;
6693
0
        }
6694
6695
5.81k
        handler.on_charset_range(cp_first, cp_second + 1);
6696
5.81k
        return;
6697
5.81k
    }
6698
6699
0
    handler.on_charset_single(cp_first);
6700
0
}
impl.cpp:void scn::v3::detail::parse_presentation_set_literal<wchar_t, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<wchar_t> > >&>(wchar_t const*&, wchar_t const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<wchar_t> > >&)
Line
Count
Source
6671
35.8k
{
6672
35.8k
    SCN_EXPECT(begin != end);
6673
6674
35.8k
    auto cp_first = parse_presentation_set_code_point(begin, end, handler);
6675
35.8k
    if (SCN_UNLIKELY(cp_first >= invalid_code_point)) {
6676
128
        return;
6677
128
    }
6678
6679
35.7k
    if (begin != end && *begin == CharT{'-'} && (begin + 1) != end &&
6680
35.7k
        *(begin + 1) != CharT{']'}) {
6681
18.2k
        ++begin;
6682
6683
18.2k
        auto cp_second = parse_presentation_set_code_point(begin, end, handler);
6684
18.2k
        if (SCN_UNLIKELY(cp_second >= invalid_code_point)) {
6685
34
            return;
6686
34
        }
6687
6688
18.1k
        if (SCN_UNLIKELY(cp_second < cp_first)) {
6689
            // clang-format off
6690
34
            handler.on_error("Invalid range in [character set] format string argument: Range end before the beginning");
6691
            // clang-format on
6692
34
            return;
6693
34
        }
6694
6695
18.1k
        handler.on_charset_range(cp_first, cp_second + 1);
6696
18.1k
        return;
6697
18.1k
    }
6698
6699
17.5k
    handler.on_charset_single(cp_first);
6700
17.5k
}
impl.cpp:void scn::v3::detail::parse_presentation_set_literal<wchar_t, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<wchar_t> > >&>(wchar_t const*&, wchar_t const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<wchar_t> > >&)
Line
Count
Source
6671
8.50k
{
6672
8.50k
    SCN_EXPECT(begin != end);
6673
6674
8.50k
    auto cp_first = parse_presentation_set_code_point(begin, end, handler);
6675
8.50k
    if (SCN_UNLIKELY(cp_first >= invalid_code_point)) {
6676
0
        return;
6677
0
    }
6678
6679
8.50k
    if (begin != end && *begin == CharT{'-'} && (begin + 1) != end &&
6680
8.50k
        *(begin + 1) != CharT{']'}) {
6681
8.50k
        ++begin;
6682
6683
8.50k
        auto cp_second = parse_presentation_set_code_point(begin, end, handler);
6684
8.50k
        if (SCN_UNLIKELY(cp_second >= invalid_code_point)) {
6685
0
            return;
6686
0
        }
6687
6688
8.50k
        if (SCN_UNLIKELY(cp_second < cp_first)) {
6689
            // clang-format off
6690
0
            handler.on_error("Invalid range in [character set] format string argument: Range end before the beginning");
6691
            // clang-format on
6692
0
            return;
6693
0
        }
6694
6695
8.50k
        handler.on_charset_range(cp_first, cp_second + 1);
6696
8.50k
        return;
6697
8.50k
    }
6698
6699
0
    handler.on_charset_single(cp_first);
6700
0
}
6701
6702
template <typename CharT, typename SpecHandler>
6703
constexpr std::basic_string_view<CharT> parse_presentation_set(
6704
    const CharT*& begin,
6705
    const CharT* end,
6706
    SpecHandler&& handler)
6707
39.0k
{
6708
39.0k
    SCN_EXPECT(begin != end);
6709
39.0k
    SCN_EXPECT(*begin == CharT{'['});
6710
6711
39.0k
    auto start = begin;
6712
39.0k
    ++begin;
6713
6714
39.0k
    if (SCN_UNLIKELY(begin == end)) {
6715
        // clang-format off
6716
76
        handler.on_error("Unexpected end of [character set] specifier in format string");
6717
        // clang-format on
6718
76
        return {};
6719
76
    }
6720
39.0k
    if (*begin == CharT{'^'}) {
6721
4.12k
        handler.on_charset_inverted();
6722
4.12k
        ++begin;
6723
4.12k
        if (SCN_UNLIKELY(begin == end)) {
6724
            // clang-format off
6725
68
            handler.on_error("Unexpected end of [character set] specifier in format string");
6726
            // clang-format on
6727
68
            return {};
6728
68
        }
6729
4.05k
        if (*begin == CharT{']'}) {
6730
116
            handler.on_charset_single(char32_t{']'});
6731
116
            ++begin;
6732
116
        }
6733
4.05k
    }
6734
34.9k
    else if (*begin == CharT{']'}) {
6735
68
        return {start, static_cast<size_t>(std::distance(start, ++begin))};
6736
68
    }
6737
6738
1.76M
    while (begin != end) {
6739
1.75M
        if (SCN_UNLIKELY(!handler)) {
6740
398
            break;
6741
398
        }
6742
6743
1.75M
        if (*begin == CharT{']'}) {
6744
37.6k
            return {start, static_cast<size_t>(std::distance(start, ++begin))};
6745
37.6k
        }
6746
6747
1.72M
        parse_presentation_set_literal(begin, end, handler);
6748
1.72M
    }
6749
6750
1.19k
    SCN_UNLIKELY_ATTR
6751
1.19k
    handler.on_error("Invalid [character set] specifier in format string");
6752
1.19k
    return {};
6753
38.8k
}
std::__1::basic_string_view<char, std::__1::char_traits<char> > scn::v3::detail::parse_presentation_set<char, scn::v3::impl::nonascii_specs_handler&>(char const*&, char const*, scn::v3::impl::nonascii_specs_handler&)
Line
Count
Source
6707
2.89k
{
6708
2.89k
    SCN_EXPECT(begin != end);
6709
2.89k
    SCN_EXPECT(*begin == CharT{'['});
6710
6711
2.89k
    auto start = begin;
6712
2.89k
    ++begin;
6713
6714
2.89k
    if (SCN_UNLIKELY(begin == end)) {
6715
        // clang-format off
6716
0
        handler.on_error("Unexpected end of [character set] specifier in format string");
6717
        // clang-format on
6718
0
        return {};
6719
0
    }
6720
2.89k
    if (*begin == CharT{'^'}) {
6721
468
        handler.on_charset_inverted();
6722
468
        ++begin;
6723
468
        if (SCN_UNLIKELY(begin == end)) {
6724
            // clang-format off
6725
0
            handler.on_error("Unexpected end of [character set] specifier in format string");
6726
            // clang-format on
6727
0
            return {};
6728
0
        }
6729
468
        if (*begin == CharT{']'}) {
6730
6
            handler.on_charset_single(char32_t{']'});
6731
6
            ++begin;
6732
6
        }
6733
468
    }
6734
2.43k
    else if (*begin == CharT{']'}) {
6735
0
        return {start, static_cast<size_t>(std::distance(start, ++begin))};
6736
0
    }
6737
6738
415k
    while (begin != end) {
6739
415k
        if (SCN_UNLIKELY(!handler)) {
6740
0
            break;
6741
0
        }
6742
6743
415k
        if (*begin == CharT{']'}) {
6744
2.89k
            return {start, static_cast<size_t>(std::distance(start, ++begin))};
6745
2.89k
        }
6746
6747
412k
        parse_presentation_set_literal(begin, end, handler);
6748
412k
    }
6749
6750
0
    SCN_UNLIKELY_ATTR
6751
0
    handler.on_error("Invalid [character set] specifier in format string");
6752
0
    return {};
6753
2.89k
}
std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > scn::v3::detail::parse_presentation_set<wchar_t, scn::v3::impl::nonascii_specs_handler&>(wchar_t const*&, wchar_t const*, scn::v3::impl::nonascii_specs_handler&)
Line
Count
Source
6707
564
{
6708
564
    SCN_EXPECT(begin != end);
6709
564
    SCN_EXPECT(*begin == CharT{'['});
6710
6711
564
    auto start = begin;
6712
564
    ++begin;
6713
6714
564
    if (SCN_UNLIKELY(begin == end)) {
6715
        // clang-format off
6716
0
        handler.on_error("Unexpected end of [character set] specifier in format string");
6717
        // clang-format on
6718
0
        return {};
6719
0
    }
6720
564
    if (*begin == CharT{'^'}) {
6721
258
        handler.on_charset_inverted();
6722
258
        ++begin;
6723
258
        if (SCN_UNLIKELY(begin == end)) {
6724
            // clang-format off
6725
0
            handler.on_error("Unexpected end of [character set] specifier in format string");
6726
            // clang-format on
6727
0
            return {};
6728
0
        }
6729
258
        if (*begin == CharT{']'}) {
6730
6
            handler.on_charset_single(char32_t{']'});
6731
6
            ++begin;
6732
6
        }
6733
258
    }
6734
306
    else if (*begin == CharT{']'}) {
6735
0
        return {start, static_cast<size_t>(std::distance(start, ++begin))};
6736
0
    }
6737
6738
5.28k
    while (begin != end) {
6739
5.28k
        if (SCN_UNLIKELY(!handler)) {
6740
0
            break;
6741
0
        }
6742
6743
5.28k
        if (*begin == CharT{']'}) {
6744
564
            return {start, static_cast<size_t>(std::distance(start, ++begin))};
6745
564
        }
6746
6747
4.71k
        parse_presentation_set_literal(begin, end, handler);
6748
4.71k
    }
6749
6750
0
    SCN_UNLIKELY_ATTR
6751
0
    handler.on_error("Invalid [character set] specifier in format string");
6752
0
    return {};
6753
564
}
impl.cpp:std::__1::basic_string_view<char, std::__1::char_traits<char> > scn::v3::detail::parse_presentation_set<char, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<char> > >&>(char const*&, char const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<char> > >&)
Line
Count
Source
6707
17.0k
{
6708
17.0k
    SCN_EXPECT(begin != end);
6709
17.0k
    SCN_EXPECT(*begin == CharT{'['});
6710
6711
17.0k
    auto start = begin;
6712
17.0k
    ++begin;
6713
6714
17.0k
    if (SCN_UNLIKELY(begin == end)) {
6715
        // clang-format off
6716
42
        handler.on_error("Unexpected end of [character set] specifier in format string");
6717
        // clang-format on
6718
42
        return {};
6719
42
    }
6720
17.0k
    if (*begin == CharT{'^'}) {
6721
2.24k
        handler.on_charset_inverted();
6722
2.24k
        ++begin;
6723
2.24k
        if (SCN_UNLIKELY(begin == end)) {
6724
            // clang-format off
6725
34
            handler.on_error("Unexpected end of [character set] specifier in format string");
6726
            // clang-format on
6727
34
            return {};
6728
34
        }
6729
2.21k
        if (*begin == CharT{']'}) {
6730
52
            handler.on_charset_single(char32_t{']'});
6731
52
            ++begin;
6732
52
        }
6733
2.21k
    }
6734
14.7k
    else if (*begin == CharT{']'}) {
6735
34
        return {start, static_cast<size_t>(std::distance(start, ++begin))};
6736
34
    }
6737
6738
1.27M
    while (begin != end) {
6739
1.27M
        if (SCN_UNLIKELY(!handler)) {
6740
234
            break;
6741
234
        }
6742
6743
1.27M
        if (*begin == CharT{']'}) {
6744
16.2k
            return {start, static_cast<size_t>(std::distance(start, ++begin))};
6745
16.2k
        }
6746
6747
1.25M
        parse_presentation_set_literal(begin, end, handler);
6748
1.25M
    }
6749
6750
718
    SCN_UNLIKELY_ATTR
6751
718
    handler.on_error("Invalid [character set] specifier in format string");
6752
718
    return {};
6753
16.9k
}
impl.cpp:std::__1::basic_string_view<char, std::__1::char_traits<char> > scn::v3::detail::parse_presentation_set<char, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<char> > >&>(char const*&, char const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<char> > >&)
Line
Count
Source
6707
2.90k
{
6708
2.90k
    SCN_EXPECT(begin != end);
6709
2.90k
    SCN_EXPECT(*begin == CharT{'['});
6710
6711
2.90k
    auto start = begin;
6712
2.90k
    ++begin;
6713
6714
2.90k
    if (SCN_UNLIKELY(begin == end)) {
6715
        // clang-format off
6716
0
        handler.on_error("Unexpected end of [character set] specifier in format string");
6717
        // clang-format on
6718
0
        return {};
6719
0
    }
6720
2.90k
    if (*begin == CharT{'^'}) {
6721
0
        handler.on_charset_inverted();
6722
0
        ++begin;
6723
0
        if (SCN_UNLIKELY(begin == end)) {
6724
            // clang-format off
6725
0
            handler.on_error("Unexpected end of [character set] specifier in format string");
6726
            // clang-format on
6727
0
            return {};
6728
0
        }
6729
0
        if (*begin == CharT{']'}) {
6730
0
            handler.on_charset_single(char32_t{']'});
6731
0
            ++begin;
6732
0
        }
6733
0
    }
6734
2.90k
    else if (*begin == CharT{']'}) {
6735
0
        return {start, static_cast<size_t>(std::distance(start, ++begin))};
6736
0
    }
6737
6738
8.71k
    while (begin != end) {
6739
8.71k
        if (SCN_UNLIKELY(!handler)) {
6740
0
            break;
6741
0
        }
6742
6743
8.71k
        if (*begin == CharT{']'}) {
6744
2.90k
            return {start, static_cast<size_t>(std::distance(start, ++begin))};
6745
2.90k
        }
6746
6747
5.81k
        parse_presentation_set_literal(begin, end, handler);
6748
5.81k
    }
6749
6750
0
    SCN_UNLIKELY_ATTR
6751
0
    handler.on_error("Invalid [character set] specifier in format string");
6752
0
    return {};
6753
2.90k
}
impl.cpp:std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > scn::v3::detail::parse_presentation_set<wchar_t, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<wchar_t> > >&>(wchar_t const*&, wchar_t const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<wchar_t> > >&)
Line
Count
Source
6707
11.4k
{
6708
11.4k
    SCN_EXPECT(begin != end);
6709
11.4k
    SCN_EXPECT(*begin == CharT{'['});
6710
6711
11.4k
    auto start = begin;
6712
11.4k
    ++begin;
6713
6714
11.4k
    if (SCN_UNLIKELY(begin == end)) {
6715
        // clang-format off
6716
34
        handler.on_error("Unexpected end of [character set] specifier in format string");
6717
        // clang-format on
6718
34
        return {};
6719
34
    }
6720
11.3k
    if (*begin == CharT{'^'}) {
6721
1.15k
        handler.on_charset_inverted();
6722
1.15k
        ++begin;
6723
1.15k
        if (SCN_UNLIKELY(begin == end)) {
6724
            // clang-format off
6725
34
            handler.on_error("Unexpected end of [character set] specifier in format string");
6726
            // clang-format on
6727
34
            return {};
6728
34
        }
6729
1.11k
        if (*begin == CharT{']'}) {
6730
52
            handler.on_charset_single(char32_t{']'});
6731
52
            ++begin;
6732
52
        }
6733
1.11k
    }
6734
10.2k
    else if (*begin == CharT{']'}) {
6735
34
        return {start, static_cast<size_t>(std::distance(start, ++begin))};
6736
34
    }
6737
6738
47.2k
    while (begin != end) {
6739
46.8k
        if (SCN_UNLIKELY(!handler)) {
6740
164
            break;
6741
164
        }
6742
6743
46.7k
        if (*begin == CharT{']'}) {
6744
10.8k
            return {start, static_cast<size_t>(std::distance(start, ++begin))};
6745
10.8k
        }
6746
6747
35.8k
        parse_presentation_set_literal(begin, end, handler);
6748
35.8k
    }
6749
6750
478
    SCN_UNLIKELY_ATTR
6751
478
    handler.on_error("Invalid [character set] specifier in format string");
6752
478
    return {};
6753
11.3k
}
impl.cpp:std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > scn::v3::detail::parse_presentation_set<wchar_t, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<wchar_t> > >&>(wchar_t const*&, wchar_t const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<wchar_t> > >&)
Line
Count
Source
6707
4.25k
{
6708
4.25k
    SCN_EXPECT(begin != end);
6709
4.25k
    SCN_EXPECT(*begin == CharT{'['});
6710
6711
4.25k
    auto start = begin;
6712
4.25k
    ++begin;
6713
6714
4.25k
    if (SCN_UNLIKELY(begin == end)) {
6715
        // clang-format off
6716
0
        handler.on_error("Unexpected end of [character set] specifier in format string");
6717
        // clang-format on
6718
0
        return {};
6719
0
    }
6720
4.25k
    if (*begin == CharT{'^'}) {
6721
0
        handler.on_charset_inverted();
6722
0
        ++begin;
6723
0
        if (SCN_UNLIKELY(begin == end)) {
6724
            // clang-format off
6725
0
            handler.on_error("Unexpected end of [character set] specifier in format string");
6726
            // clang-format on
6727
0
            return {};
6728
0
        }
6729
0
        if (*begin == CharT{']'}) {
6730
0
            handler.on_charset_single(char32_t{']'});
6731
0
            ++begin;
6732
0
        }
6733
0
    }
6734
4.25k
    else if (*begin == CharT{']'}) {
6735
0
        return {start, static_cast<size_t>(std::distance(start, ++begin))};
6736
0
    }
6737
6738
12.7k
    while (begin != end) {
6739
12.7k
        if (SCN_UNLIKELY(!handler)) {
6740
0
            break;
6741
0
        }
6742
6743
12.7k
        if (*begin == CharT{']'}) {
6744
4.25k
            return {start, static_cast<size_t>(std::distance(start, ++begin))};
6745
4.25k
        }
6746
6747
8.50k
        parse_presentation_set_literal(begin, end, handler);
6748
8.50k
    }
6749
6750
0
    SCN_UNLIKELY_ATTR
6751
0
    handler.on_error("Invalid [character set] specifier in format string");
6752
0
    return {};
6753
4.25k
}
6754
6755
template <typename CharT, typename SpecHandler>
6756
constexpr const CharT* parse_presentation_regex(const CharT*& begin,
6757
                                                const CharT* end,
6758
                                                SpecHandler&& handler)
6759
57.9k
{
6760
57.9k
#if !SCN_DISABLE_REGEX
6761
57.9k
    SCN_EXPECT(begin != end);
6762
57.9k
    SCN_EXPECT(*begin == CharT{'/'});
6763
6764
    if constexpr (!SCN_REGEX_SUPPORTS_WIDE_STRINGS &&
6765
                  std::is_same_v<CharT, wchar_t>) {
6766
        handler.on_error("Regex backend doesn't support wide strings as input");
6767
        return begin;
6768
    }
6769
6770
57.9k
    auto start = begin;
6771
57.9k
    ++begin;
6772
6773
57.9k
    if (SCN_UNLIKELY(begin == end)) {
6774
68
        handler.on_error("Unexpected end of regex in format string");
6775
68
        return begin;
6776
68
    }
6777
6778
57.9k
    handler.on_type(presentation_type::regex);
6779
9.31M
    for (; begin != end; ++begin) {
6780
9.31M
        if (*begin == CharT{'/'}) {
6781
81.5k
            if (*(begin - 1) != CharT{'\\'}) {
6782
57.5k
                break;
6783
57.5k
            }
6784
23.9k
            else {
6785
23.9k
                handler.on_type(presentation_type::regex_escaped);
6786
23.9k
            }
6787
81.5k
        }
6788
9.31M
    }
6789
57.9k
    if (SCN_UNLIKELY(begin == end)) {
6790
394
        handler.on_error("Unexpected end of regex in format string");
6791
394
        return begin;
6792
394
    }
6793
6794
57.5k
    auto regex_end = begin;
6795
57.5k
    auto regex_pattern = make_string_view_from_pointers(start + 1, regex_end);
6796
57.5k
    if (SCN_UNLIKELY(regex_pattern.empty())) {
6797
68
        handler.on_error("Invalid (empty) regex in format string");
6798
68
        return begin;
6799
68
    }
6800
57.4k
    handler.on_regex_pattern(regex_pattern);
6801
57.4k
    ++begin;
6802
6803
57.4k
    if (SCN_UNLIKELY(begin == end)) {
6804
68
        handler.on_error("Unexpected end of regex in format string");
6805
68
        return begin;
6806
68
    }
6807
6808
57.4k
    regex_flags flags{regex_flags::none};
6809
57.4k
    constexpr std::array<std::pair<char, regex_flags>, 4> flag_map{
6810
57.4k
        {{'m', regex_flags::multiline},
6811
57.4k
         {'s', regex_flags::singleline},
6812
57.4k
         {'i', regex_flags::nocase},
6813
57.4k
         {'n', regex_flags::nocapture}}};
6814
65.0k
    for (; begin != end; ++begin) {
6815
64.9k
        if (*begin == CharT{'}'}) {
6816
57.0k
            break;
6817
57.0k
        }
6818
7.87k
        bool found_flag = false;
6819
20.9k
        for (auto flag : flag_map) {
6820
20.9k
            if (static_cast<CharT>(flag.first) != *begin) {
6821
13.2k
                continue;
6822
13.2k
            }
6823
7.69k
            if ((flags & flag.second) != regex_flags::none) {
6824
68
                handler.on_error("Flag set multiple times in regex");
6825
68
                return begin;
6826
68
            }
6827
7.62k
#if SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_STD
6828
7.62k
            if (*begin == CharT{'s'}) {
6829
                // clang-format off
6830
82
                handler.on_error("/s flag for regex isn't supported by regex backend");
6831
                // clang-format on
6832
82
            }
6833
#if !SCN_HAS_STD_REGEX_MULTILINE
6834
            if (*begin == CharT{'m'}) {
6835
                // clang-format off
6836
                handler.on_error("/m flag for regex isn't supported by regex backend");
6837
                // clang-format on
6838
            }
6839
#endif
6840
7.62k
#endif
6841
7.62k
            flags |= flag.second;
6842
7.62k
            found_flag = true;
6843
7.62k
            break;
6844
7.69k
        }
6845
7.80k
        if (!found_flag) {
6846
178
            handler.on_error("Invalid flag in regex");
6847
178
            return begin;
6848
178
        }
6849
7.80k
    }
6850
57.1k
    handler.on_regex_flags(flags);
6851
6852
57.1k
    if (SCN_UNLIKELY(begin == end)) {
6853
102
        handler.on_error("Unexpected end of regex in format string");
6854
102
        return begin;
6855
102
    }
6856
6857
57.0k
    return begin;
6858
#else
6859
    handler.on_error("Regular expression support is disabled");
6860
    return {};
6861
#endif
6862
57.1k
}
impl.cpp:char const* scn::v3::detail::parse_presentation_regex<char, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<char> > >&>(char const*&, char const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<char> > >&)
Line
Count
Source
6759
37.1k
{
6760
37.1k
#if !SCN_DISABLE_REGEX
6761
37.1k
    SCN_EXPECT(begin != end);
6762
37.1k
    SCN_EXPECT(*begin == CharT{'/'});
6763
6764
    if constexpr (!SCN_REGEX_SUPPORTS_WIDE_STRINGS &&
6765
                  std::is_same_v<CharT, wchar_t>) {
6766
        handler.on_error("Regex backend doesn't support wide strings as input");
6767
        return begin;
6768
    }
6769
6770
37.1k
    auto start = begin;
6771
37.1k
    ++begin;
6772
6773
37.1k
    if (SCN_UNLIKELY(begin == end)) {
6774
34
        handler.on_error("Unexpected end of regex in format string");
6775
34
        return begin;
6776
34
    }
6777
6778
37.1k
    handler.on_type(presentation_type::regex);
6779
7.81M
    for (; begin != end; ++begin) {
6780
7.81M
        if (*begin == CharT{'/'}) {
6781
55.3k
            if (*(begin - 1) != CharT{'\\'}) {
6782
36.8k
                break;
6783
36.8k
            }
6784
18.4k
            else {
6785
18.4k
                handler.on_type(presentation_type::regex_escaped);
6786
18.4k
            }
6787
55.3k
        }
6788
7.81M
    }
6789
37.1k
    if (SCN_UNLIKELY(begin == end)) {
6790
212
        handler.on_error("Unexpected end of regex in format string");
6791
212
        return begin;
6792
212
    }
6793
6794
36.8k
    auto regex_end = begin;
6795
36.8k
    auto regex_pattern = make_string_view_from_pointers(start + 1, regex_end);
6796
36.8k
    if (SCN_UNLIKELY(regex_pattern.empty())) {
6797
34
        handler.on_error("Invalid (empty) regex in format string");
6798
34
        return begin;
6799
34
    }
6800
36.8k
    handler.on_regex_pattern(regex_pattern);
6801
36.8k
    ++begin;
6802
6803
36.8k
    if (SCN_UNLIKELY(begin == end)) {
6804
34
        handler.on_error("Unexpected end of regex in format string");
6805
34
        return begin;
6806
34
    }
6807
6808
36.8k
    regex_flags flags{regex_flags::none};
6809
36.8k
    constexpr std::array<std::pair<char, regex_flags>, 4> flag_map{
6810
36.8k
        {{'m', regex_flags::multiline},
6811
36.8k
         {'s', regex_flags::singleline},
6812
36.8k
         {'i', regex_flags::nocase},
6813
36.8k
         {'n', regex_flags::nocapture}}};
6814
41.7k
    for (; begin != end; ++begin) {
6815
41.7k
        if (*begin == CharT{'}'}) {
6816
36.6k
            break;
6817
36.6k
        }
6818
5.09k
        bool found_flag = false;
6819
13.4k
        for (auto flag : flag_map) {
6820
13.4k
            if (static_cast<CharT>(flag.first) != *begin) {
6821
8.44k
                continue;
6822
8.44k
            }
6823
4.97k
            if ((flags & flag.second) != regex_flags::none) {
6824
34
                handler.on_error("Flag set multiple times in regex");
6825
34
                return begin;
6826
34
            }
6827
4.93k
#if SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_STD
6828
4.93k
            if (*begin == CharT{'s'}) {
6829
                // clang-format off
6830
48
                handler.on_error("/s flag for regex isn't supported by regex backend");
6831
                // clang-format on
6832
48
            }
6833
#if !SCN_HAS_STD_REGEX_MULTILINE
6834
            if (*begin == CharT{'m'}) {
6835
                // clang-format off
6836
                handler.on_error("/m flag for regex isn't supported by regex backend");
6837
                // clang-format on
6838
            }
6839
#endif
6840
4.93k
#endif
6841
4.93k
            flags |= flag.second;
6842
4.93k
            found_flag = true;
6843
4.93k
            break;
6844
4.97k
        }
6845
5.06k
        if (!found_flag) {
6846
124
            handler.on_error("Invalid flag in regex");
6847
124
            return begin;
6848
124
        }
6849
5.06k
    }
6850
36.6k
    handler.on_regex_flags(flags);
6851
6852
36.6k
    if (SCN_UNLIKELY(begin == end)) {
6853
58
        handler.on_error("Unexpected end of regex in format string");
6854
58
        return begin;
6855
58
    }
6856
6857
36.6k
    return begin;
6858
#else
6859
    handler.on_error("Regular expression support is disabled");
6860
    return {};
6861
#endif
6862
36.6k
}
Unexecuted instantiation: impl.cpp:char const* scn::v3::detail::parse_presentation_regex<char, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<char> > >&>(char const*&, char const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<char> > >&)
impl.cpp:wchar_t const* scn::v3::detail::parse_presentation_regex<wchar_t, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<wchar_t> > >&>(wchar_t const*&, wchar_t const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<wchar_t> > >&)
Line
Count
Source
6759
20.8k
{
6760
20.8k
#if !SCN_DISABLE_REGEX
6761
20.8k
    SCN_EXPECT(begin != end);
6762
20.8k
    SCN_EXPECT(*begin == CharT{'/'});
6763
6764
    if constexpr (!SCN_REGEX_SUPPORTS_WIDE_STRINGS &&
6765
                  std::is_same_v<CharT, wchar_t>) {
6766
        handler.on_error("Regex backend doesn't support wide strings as input");
6767
        return begin;
6768
    }
6769
6770
20.8k
    auto start = begin;
6771
20.8k
    ++begin;
6772
6773
20.8k
    if (SCN_UNLIKELY(begin == end)) {
6774
34
        handler.on_error("Unexpected end of regex in format string");
6775
34
        return begin;
6776
34
    }
6777
6778
20.8k
    handler.on_type(presentation_type::regex);
6779
1.50M
    for (; begin != end; ++begin) {
6780
1.50M
        if (*begin == CharT{'/'}) {
6781
26.1k
            if (*(begin - 1) != CharT{'\\'}) {
6782
20.6k
                break;
6783
20.6k
            }
6784
5.51k
            else {
6785
5.51k
                handler.on_type(presentation_type::regex_escaped);
6786
5.51k
            }
6787
26.1k
        }
6788
1.50M
    }
6789
20.8k
    if (SCN_UNLIKELY(begin == end)) {
6790
182
        handler.on_error("Unexpected end of regex in format string");
6791
182
        return begin;
6792
182
    }
6793
6794
20.6k
    auto regex_end = begin;
6795
20.6k
    auto regex_pattern = make_string_view_from_pointers(start + 1, regex_end);
6796
20.6k
    if (SCN_UNLIKELY(regex_pattern.empty())) {
6797
34
        handler.on_error("Invalid (empty) regex in format string");
6798
34
        return begin;
6799
34
    }
6800
20.6k
    handler.on_regex_pattern(regex_pattern);
6801
20.6k
    ++begin;
6802
6803
20.6k
    if (SCN_UNLIKELY(begin == end)) {
6804
34
        handler.on_error("Unexpected end of regex in format string");
6805
34
        return begin;
6806
34
    }
6807
6808
20.5k
    regex_flags flags{regex_flags::none};
6809
20.5k
    constexpr std::array<std::pair<char, regex_flags>, 4> flag_map{
6810
20.5k
        {{'m', regex_flags::multiline},
6811
20.5k
         {'s', regex_flags::singleline},
6812
20.5k
         {'i', regex_flags::nocase},
6813
20.5k
         {'n', regex_flags::nocapture}}};
6814
23.2k
    for (; begin != end; ++begin) {
6815
23.2k
        if (*begin == CharT{'}'}) {
6816
20.4k
            break;
6817
20.4k
        }
6818
2.77k
        bool found_flag = false;
6819
7.49k
        for (auto flag : flag_map) {
6820
7.49k
            if (static_cast<CharT>(flag.first) != *begin) {
6821
4.77k
                continue;
6822
4.77k
            }
6823
2.72k
            if ((flags & flag.second) != regex_flags::none) {
6824
34
                handler.on_error("Flag set multiple times in regex");
6825
34
                return begin;
6826
34
            }
6827
2.69k
#if SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_STD
6828
2.69k
            if (*begin == CharT{'s'}) {
6829
                // clang-format off
6830
34
                handler.on_error("/s flag for regex isn't supported by regex backend");
6831
                // clang-format on
6832
34
            }
6833
#if !SCN_HAS_STD_REGEX_MULTILINE
6834
            if (*begin == CharT{'m'}) {
6835
                // clang-format off
6836
                handler.on_error("/m flag for regex isn't supported by regex backend");
6837
                // clang-format on
6838
            }
6839
#endif
6840
2.69k
#endif
6841
2.69k
            flags |= flag.second;
6842
2.69k
            found_flag = true;
6843
2.69k
            break;
6844
2.72k
        }
6845
2.74k
        if (!found_flag) {
6846
54
            handler.on_error("Invalid flag in regex");
6847
54
            return begin;
6848
54
        }
6849
2.74k
    }
6850
20.4k
    handler.on_regex_flags(flags);
6851
6852
20.4k
    if (SCN_UNLIKELY(begin == end)) {
6853
44
        handler.on_error("Unexpected end of regex in format string");
6854
44
        return begin;
6855
44
    }
6856
6857
20.4k
    return begin;
6858
#else
6859
    handler.on_error("Regular expression support is disabled");
6860
    return {};
6861
#endif
6862
20.4k
}
Unexecuted instantiation: impl.cpp:wchar_t const* scn::v3::detail::parse_presentation_regex<wchar_t, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<wchar_t> > >&>(wchar_t const*&, wchar_t const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<wchar_t> > >&)
6863
6864
template <typename CharT, typename SpecHandler>
6865
constexpr const CharT* parse_format_specs(const CharT* begin,
6866
                                          const CharT* end,
6867
                                          SpecHandler&& handler)
6868
4.77M
{
6869
4.77M
    auto do_presentation = [&]() -> const CharT* {
6870
3.93M
        if (*begin == CharT{'['}) {
6871
35.6k
            auto set = parse_presentation_set(begin, end, handler);
6872
35.6k
            if (SCN_UNLIKELY(set.size() <= 2)) {
6873
                // clang-format off
6874
1.40k
                handler.on_error("Invalid (empty) [character set] specifier in format string");
6875
                // clang-format on
6876
1.40k
                return begin;
6877
1.40k
            }
6878
34.2k
            handler.on_character_set_string(set);
6879
34.2k
            return begin;
6880
35.6k
        }
6881
3.89M
        if (*begin == CharT{'/'}) {
6882
57.9k
            return parse_presentation_regex(begin, end, handler);
6883
57.9k
        }
6884
3.83M
        presentation_type type = parse_presentation_type(*begin++);
6885
3.83M
        if (SCN_UNLIKELY(type == presentation_type::none)) {
6886
121k
            handler.on_error("Invalid type specifier in format string");
6887
121k
            return begin;
6888
121k
        }
6889
3.71M
        handler.on_type(type);
6890
3.71M
        return begin;
6891
3.83M
    };
impl.cpp:scn::v3::detail::parse_format_specs<char, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<char> > >&>(char const*, char const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<char> > >&)::{lambda()#1}::operator()() const
Line
Count
Source
6869
981k
    auto do_presentation = [&]() -> const CharT* {
6870
981k
        if (*begin == CharT{'['}) {
6871
17.0k
            auto set = parse_presentation_set(begin, end, handler);
6872
17.0k
            if (SCN_UNLIKELY(set.size() <= 2)) {
6873
                // clang-format off
6874
828
                handler.on_error("Invalid (empty) [character set] specifier in format string");
6875
                // clang-format on
6876
828
                return begin;
6877
828
            }
6878
16.2k
            handler.on_character_set_string(set);
6879
16.2k
            return begin;
6880
17.0k
        }
6881
964k
        if (*begin == CharT{'/'}) {
6882
37.1k
            return parse_presentation_regex(begin, end, handler);
6883
37.1k
        }
6884
927k
        presentation_type type = parse_presentation_type(*begin++);
6885
927k
        if (SCN_UNLIKELY(type == presentation_type::none)) {
6886
21.5k
            handler.on_error("Invalid type specifier in format string");
6887
21.5k
            return begin;
6888
21.5k
        }
6889
905k
        handler.on_type(type);
6890
905k
        return begin;
6891
927k
    };
impl.cpp:scn::v3::detail::parse_format_specs<char, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<char> > >&>(char const*, char const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<char> > >&)::{lambda()#1}::operator()() const
Line
Count
Source
6869
971k
    auto do_presentation = [&]() -> const CharT* {
6870
971k
        if (*begin == CharT{'['}) {
6871
2.90k
            auto set = parse_presentation_set(begin, end, handler);
6872
2.90k
            if (SCN_UNLIKELY(set.size() <= 2)) {
6873
                // clang-format off
6874
0
                handler.on_error("Invalid (empty) [character set] specifier in format string");
6875
                // clang-format on
6876
0
                return begin;
6877
0
            }
6878
2.90k
            handler.on_character_set_string(set);
6879
2.90k
            return begin;
6880
2.90k
        }
6881
968k
        if (*begin == CharT{'/'}) {
6882
0
            return parse_presentation_regex(begin, end, handler);
6883
0
        }
6884
968k
        presentation_type type = parse_presentation_type(*begin++);
6885
968k
        if (SCN_UNLIKELY(type == presentation_type::none)) {
6886
19.0k
            handler.on_error("Invalid type specifier in format string");
6887
19.0k
            return begin;
6888
19.0k
        }
6889
949k
        handler.on_type(type);
6890
949k
        return begin;
6891
968k
    };
impl.cpp:scn::v3::detail::parse_format_specs<wchar_t, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<wchar_t> > >&>(wchar_t const*, wchar_t const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<wchar_t> > >&)::{lambda()#1}::operator()() const
Line
Count
Source
6869
1.17M
    auto do_presentation = [&]() -> const CharT* {
6870
1.17M
        if (*begin == CharT{'['}) {
6871
11.4k
            auto set = parse_presentation_set(begin, end, handler);
6872
11.4k
            if (SCN_UNLIKELY(set.size() <= 2)) {
6873
                // clang-format off
6874
580
                handler.on_error("Invalid (empty) [character set] specifier in format string");
6875
                // clang-format on
6876
580
                return begin;
6877
580
            }
6878
10.8k
            handler.on_character_set_string(set);
6879
10.8k
            return begin;
6880
11.4k
        }
6881
1.16M
        if (*begin == CharT{'/'}) {
6882
20.8k
            return parse_presentation_regex(begin, end, handler);
6883
20.8k
        }
6884
1.14M
        presentation_type type = parse_presentation_type(*begin++);
6885
1.14M
        if (SCN_UNLIKELY(type == presentation_type::none)) {
6886
42.5k
            handler.on_error("Invalid type specifier in format string");
6887
42.5k
            return begin;
6888
42.5k
        }
6889
1.10M
        handler.on_type(type);
6890
1.10M
        return begin;
6891
1.14M
    };
impl.cpp:scn::v3::detail::parse_format_specs<wchar_t, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<wchar_t> > >&>(wchar_t const*, wchar_t const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<wchar_t> > >&)::{lambda()#1}::operator()() const
Line
Count
Source
6869
800k
    auto do_presentation = [&]() -> const CharT* {
6870
800k
        if (*begin == CharT{'['}) {
6871
4.25k
            auto set = parse_presentation_set(begin, end, handler);
6872
4.25k
            if (SCN_UNLIKELY(set.size() <= 2)) {
6873
                // clang-format off
6874
0
                handler.on_error("Invalid (empty) [character set] specifier in format string");
6875
                // clang-format on
6876
0
                return begin;
6877
0
            }
6878
4.25k
            handler.on_character_set_string(set);
6879
4.25k
            return begin;
6880
4.25k
        }
6881
796k
        if (*begin == CharT{'/'}) {
6882
0
            return parse_presentation_regex(begin, end, handler);
6883
0
        }
6884
796k
        presentation_type type = parse_presentation_type(*begin++);
6885
796k
        if (SCN_UNLIKELY(type == presentation_type::none)) {
6886
38.0k
            handler.on_error("Invalid type specifier in format string");
6887
38.0k
            return begin;
6888
38.0k
        }
6889
758k
        handler.on_type(type);
6890
758k
        return begin;
6891
796k
    };
6892
6893
4.77M
    if (end - begin > 1 && *(begin + 1) == CharT{'}'} &&
6894
4.77M
        is_ascii_letter(*begin) && *begin != CharT{'L'}) {
6895
3.64M
        return do_presentation();
6896
3.64M
    }
6897
6898
1.13M
    if (SCN_UNLIKELY(begin == end)) {
6899
0
        handler.on_error("Unexpected end of format string");
6900
0
        return begin;
6901
0
    }
6902
6903
1.13M
    begin = parse_align(begin, end, handler);
6904
1.13M
    if (SCN_UNLIKELY(begin == end)) {
6905
228
        handler.on_error("Unexpected end of format string");
6906
228
        return begin;
6907
228
    }
6908
6909
1.13M
    begin = parse_width(begin, end, handler);
6910
1.13M
    if (SCN_UNLIKELY(begin == end)) {
6911
200
        handler.on_error("Unexpected end of format string");
6912
200
        return begin;
6913
200
    }
6914
6915
1.13M
    if (*begin == CharT{'.'}) {
6916
10.9k
        ++begin;
6917
10.9k
        if (SCN_UNLIKELY(begin == end)) {
6918
68
            handler.on_error("Unexpected end of format string");
6919
68
            return begin;
6920
68
        }
6921
10.9k
        begin = parse_precision(begin, end, handler);
6922
10.9k
        if (SCN_UNLIKELY(begin == end)) {
6923
230
            handler.on_error("Unexpected end of format string");
6924
230
            return begin;
6925
230
        }
6926
10.9k
    }
6927
6928
1.13M
    if (*begin == CharT{'L'}) {
6929
834k
        handler.on_localized();
6930
834k
        ++begin;
6931
834k
    }
6932
1.13M
    if (SCN_UNLIKELY(begin == end)) {
6933
104
        handler.on_error("Unexpected end of format string");
6934
104
        return begin;
6935
104
    }
6936
6937
1.13M
    if (begin != end && *begin != CharT{'}'}) {
6938
290k
        do_presentation();
6939
290k
    }
6940
1.13M
    if (SCN_UNLIKELY(begin == end)) {
6941
3.68k
        handler.on_error("Unexpected end of format string");
6942
3.68k
        return begin;
6943
3.68k
    }
6944
6945
1.12M
    return begin;
6946
1.13M
}
impl.cpp:char const* scn::v3::detail::parse_format_specs<char, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<char> > >&>(char const*, char const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<char> > >&)
Line
Count
Source
6868
1.26M
{
6869
1.26M
    auto do_presentation = [&]() -> const CharT* {
6870
1.26M
        if (*begin == CharT{'['}) {
6871
1.26M
            auto set = parse_presentation_set(begin, end, handler);
6872
1.26M
            if (SCN_UNLIKELY(set.size() <= 2)) {
6873
                // clang-format off
6874
1.26M
                handler.on_error("Invalid (empty) [character set] specifier in format string");
6875
                // clang-format on
6876
1.26M
                return begin;
6877
1.26M
            }
6878
1.26M
            handler.on_character_set_string(set);
6879
1.26M
            return begin;
6880
1.26M
        }
6881
1.26M
        if (*begin == CharT{'/'}) {
6882
1.26M
            return parse_presentation_regex(begin, end, handler);
6883
1.26M
        }
6884
1.26M
        presentation_type type = parse_presentation_type(*begin++);
6885
1.26M
        if (SCN_UNLIKELY(type == presentation_type::none)) {
6886
1.26M
            handler.on_error("Invalid type specifier in format string");
6887
1.26M
            return begin;
6888
1.26M
        }
6889
1.26M
        handler.on_type(type);
6890
1.26M
        return begin;
6891
1.26M
    };
6892
6893
1.26M
    if (end - begin > 1 && *(begin + 1) == CharT{'}'} &&
6894
1.26M
        is_ascii_letter(*begin) && *begin != CharT{'L'}) {
6895
889k
        return do_presentation();
6896
889k
    }
6897
6898
371k
    if (SCN_UNLIKELY(begin == end)) {
6899
0
        handler.on_error("Unexpected end of format string");
6900
0
        return begin;
6901
0
    }
6902
6903
371k
    begin = parse_align(begin, end, handler);
6904
371k
    if (SCN_UNLIKELY(begin == end)) {
6905
126
        handler.on_error("Unexpected end of format string");
6906
126
        return begin;
6907
126
    }
6908
6909
371k
    begin = parse_width(begin, end, handler);
6910
371k
    if (SCN_UNLIKELY(begin == end)) {
6911
102
        handler.on_error("Unexpected end of format string");
6912
102
        return begin;
6913
102
    }
6914
6915
371k
    if (*begin == CharT{'.'}) {
6916
7.73k
        ++begin;
6917
7.73k
        if (SCN_UNLIKELY(begin == end)) {
6918
34
            handler.on_error("Unexpected end of format string");
6919
34
            return begin;
6920
34
        }
6921
7.70k
        begin = parse_precision(begin, end, handler);
6922
7.70k
        if (SCN_UNLIKELY(begin == end)) {
6923
114
            handler.on_error("Unexpected end of format string");
6924
114
            return begin;
6925
114
        }
6926
7.70k
    }
6927
6928
371k
    if (*begin == CharT{'L'}) {
6929
275k
        handler.on_localized();
6930
275k
        ++begin;
6931
275k
    }
6932
371k
    if (SCN_UNLIKELY(begin == end)) {
6933
52
        handler.on_error("Unexpected end of format string");
6934
52
        return begin;
6935
52
    }
6936
6937
371k
    if (begin != end && *begin != CharT{'}'}) {
6938
91.7k
        do_presentation();
6939
91.7k
    }
6940
371k
    if (SCN_UNLIKELY(begin == end)) {
6941
2.01k
        handler.on_error("Unexpected end of format string");
6942
2.01k
        return begin;
6943
2.01k
    }
6944
6945
369k
    return begin;
6946
371k
}
impl.cpp:char const* scn::v3::detail::parse_format_specs<char, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<char> > >&>(char const*, char const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<char> > >&)
Line
Count
Source
6868
1.28M
{
6869
1.28M
    auto do_presentation = [&]() -> const CharT* {
6870
1.28M
        if (*begin == CharT{'['}) {
6871
1.28M
            auto set = parse_presentation_set(begin, end, handler);
6872
1.28M
            if (SCN_UNLIKELY(set.size() <= 2)) {
6873
                // clang-format off
6874
1.28M
                handler.on_error("Invalid (empty) [character set] specifier in format string");
6875
                // clang-format on
6876
1.28M
                return begin;
6877
1.28M
            }
6878
1.28M
            handler.on_character_set_string(set);
6879
1.28M
            return begin;
6880
1.28M
        }
6881
1.28M
        if (*begin == CharT{'/'}) {
6882
1.28M
            return parse_presentation_regex(begin, end, handler);
6883
1.28M
        }
6884
1.28M
        presentation_type type = parse_presentation_type(*begin++);
6885
1.28M
        if (SCN_UNLIKELY(type == presentation_type::none)) {
6886
1.28M
            handler.on_error("Invalid type specifier in format string");
6887
1.28M
            return begin;
6888
1.28M
        }
6889
1.28M
        handler.on_type(type);
6890
1.28M
        return begin;
6891
1.28M
    };
6892
6893
1.28M
    if (end - begin > 1 && *(begin + 1) == CharT{'}'} &&
6894
1.28M
        is_ascii_letter(*begin) && *begin != CharT{'L'}) {
6895
938k
        return do_presentation();
6896
938k
    }
6897
6898
345k
    if (SCN_UNLIKELY(begin == end)) {
6899
0
        handler.on_error("Unexpected end of format string");
6900
0
        return begin;
6901
0
    }
6902
6903
345k
    begin = parse_align(begin, end, handler);
6904
345k
    if (SCN_UNLIKELY(begin == end)) {
6905
0
        handler.on_error("Unexpected end of format string");
6906
0
        return begin;
6907
0
    }
6908
6909
345k
    begin = parse_width(begin, end, handler);
6910
345k
    if (SCN_UNLIKELY(begin == end)) {
6911
0
        handler.on_error("Unexpected end of format string");
6912
0
        return begin;
6913
0
    }
6914
6915
345k
    if (*begin == CharT{'.'}) {
6916
0
        ++begin;
6917
0
        if (SCN_UNLIKELY(begin == end)) {
6918
0
            handler.on_error("Unexpected end of format string");
6919
0
            return begin;
6920
0
        }
6921
0
        begin = parse_precision(begin, end, handler);
6922
0
        if (SCN_UNLIKELY(begin == end)) {
6923
0
            handler.on_error("Unexpected end of format string");
6924
0
            return begin;
6925
0
        }
6926
0
    }
6927
6928
345k
    if (*begin == CharT{'L'}) {
6929
312k
        handler.on_localized();
6930
312k
        ++begin;
6931
312k
    }
6932
345k
    if (SCN_UNLIKELY(begin == end)) {
6933
0
        handler.on_error("Unexpected end of format string");
6934
0
        return begin;
6935
0
    }
6936
6937
345k
    if (begin != end && *begin != CharT{'}'}) {
6938
32.4k
        do_presentation();
6939
32.4k
    }
6940
345k
    if (SCN_UNLIKELY(begin == end)) {
6941
0
        handler.on_error("Unexpected end of format string");
6942
0
        return begin;
6943
0
    }
6944
6945
345k
    return begin;
6946
345k
}
impl.cpp:wchar_t const* scn::v3::detail::parse_format_specs<wchar_t, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<wchar_t> > >&>(wchar_t const*, wchar_t const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<wchar_t> > >&)
Line
Count
Source
6868
1.30M
{
6869
1.30M
    auto do_presentation = [&]() -> const CharT* {
6870
1.30M
        if (*begin == CharT{'['}) {
6871
1.30M
            auto set = parse_presentation_set(begin, end, handler);
6872
1.30M
            if (SCN_UNLIKELY(set.size() <= 2)) {
6873
                // clang-format off
6874
1.30M
                handler.on_error("Invalid (empty) [character set] specifier in format string");
6875
                // clang-format on
6876
1.30M
                return begin;
6877
1.30M
            }
6878
1.30M
            handler.on_character_set_string(set);
6879
1.30M
            return begin;
6880
1.30M
        }
6881
1.30M
        if (*begin == CharT{'/'}) {
6882
1.30M
            return parse_presentation_regex(begin, end, handler);
6883
1.30M
        }
6884
1.30M
        presentation_type type = parse_presentation_type(*begin++);
6885
1.30M
        if (SCN_UNLIKELY(type == presentation_type::none)) {
6886
1.30M
            handler.on_error("Invalid type specifier in format string");
6887
1.30M
            return begin;
6888
1.30M
        }
6889
1.30M
        handler.on_type(type);
6890
1.30M
        return begin;
6891
1.30M
    };
6892
6893
1.30M
    if (end - begin > 1 && *(begin + 1) == CharT{'}'} &&
6894
1.30M
        is_ascii_letter(*begin) && *begin != CharT{'L'}) {
6895
1.07M
        return do_presentation();
6896
1.07M
    }
6897
6898
231k
    if (SCN_UNLIKELY(begin == end)) {
6899
0
        handler.on_error("Unexpected end of format string");
6900
0
        return begin;
6901
0
    }
6902
6903
231k
    begin = parse_align(begin, end, handler);
6904
231k
    if (SCN_UNLIKELY(begin == end)) {
6905
102
        handler.on_error("Unexpected end of format string");
6906
102
        return begin;
6907
102
    }
6908
6909
231k
    begin = parse_width(begin, end, handler);
6910
231k
    if (SCN_UNLIKELY(begin == end)) {
6911
98
        handler.on_error("Unexpected end of format string");
6912
98
        return begin;
6913
98
    }
6914
6915
231k
    if (*begin == CharT{'.'}) {
6916
3.24k
        ++begin;
6917
3.24k
        if (SCN_UNLIKELY(begin == end)) {
6918
34
            handler.on_error("Unexpected end of format string");
6919
34
            return begin;
6920
34
        }
6921
3.21k
        begin = parse_precision(begin, end, handler);
6922
3.21k
        if (SCN_UNLIKELY(begin == end)) {
6923
116
            handler.on_error("Unexpected end of format string");
6924
116
            return begin;
6925
116
        }
6926
3.21k
    }
6927
6928
231k
    if (*begin == CharT{'L'}) {
6929
125k
        handler.on_localized();
6930
125k
        ++begin;
6931
125k
    }
6932
231k
    if (SCN_UNLIKELY(begin == end)) {
6933
52
        handler.on_error("Unexpected end of format string");
6934
52
        return begin;
6935
52
    }
6936
6937
231k
    if (begin != end && *begin != CharT{'}'}) {
6938
102k
        do_presentation();
6939
102k
    }
6940
231k
    if (SCN_UNLIKELY(begin == end)) {
6941
1.67k
        handler.on_error("Unexpected end of format string");
6942
1.67k
        return begin;
6943
1.67k
    }
6944
6945
229k
    return begin;
6946
231k
}
impl.cpp:wchar_t const* scn::v3::detail::parse_format_specs<wchar_t, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<wchar_t> > >&>(wchar_t const*, wchar_t const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<wchar_t> > >&)
Line
Count
Source
6868
921k
{
6869
921k
    auto do_presentation = [&]() -> const CharT* {
6870
921k
        if (*begin == CharT{'['}) {
6871
921k
            auto set = parse_presentation_set(begin, end, handler);
6872
921k
            if (SCN_UNLIKELY(set.size() <= 2)) {
6873
                // clang-format off
6874
921k
                handler.on_error("Invalid (empty) [character set] specifier in format string");
6875
                // clang-format on
6876
921k
                return begin;
6877
921k
            }
6878
921k
            handler.on_character_set_string(set);
6879
921k
            return begin;
6880
921k
        }
6881
921k
        if (*begin == CharT{'/'}) {
6882
921k
            return parse_presentation_regex(begin, end, handler);
6883
921k
        }
6884
921k
        presentation_type type = parse_presentation_type(*begin++);
6885
921k
        if (SCN_UNLIKELY(type == presentation_type::none)) {
6886
921k
            handler.on_error("Invalid type specifier in format string");
6887
921k
            return begin;
6888
921k
        }
6889
921k
        handler.on_type(type);
6890
921k
        return begin;
6891
921k
    };
6892
6893
921k
    if (end - begin > 1 && *(begin + 1) == CharT{'}'} &&
6894
921k
        is_ascii_letter(*begin) && *begin != CharT{'L'}) {
6895
737k
        return do_presentation();
6896
737k
    }
6897
6898
184k
    if (SCN_UNLIKELY(begin == end)) {
6899
0
        handler.on_error("Unexpected end of format string");
6900
0
        return begin;
6901
0
    }
6902
6903
184k
    begin = parse_align(begin, end, handler);
6904
184k
    if (SCN_UNLIKELY(begin == end)) {
6905
0
        handler.on_error("Unexpected end of format string");
6906
0
        return begin;
6907
0
    }
6908
6909
184k
    begin = parse_width(begin, end, handler);
6910
184k
    if (SCN_UNLIKELY(begin == end)) {
6911
0
        handler.on_error("Unexpected end of format string");
6912
0
        return begin;
6913
0
    }
6914
6915
184k
    if (*begin == CharT{'.'}) {
6916
0
        ++begin;
6917
0
        if (SCN_UNLIKELY(begin == end)) {
6918
0
            handler.on_error("Unexpected end of format string");
6919
0
            return begin;
6920
0
        }
6921
0
        begin = parse_precision(begin, end, handler);
6922
0
        if (SCN_UNLIKELY(begin == end)) {
6923
0
            handler.on_error("Unexpected end of format string");
6924
0
            return begin;
6925
0
        }
6926
0
    }
6927
6928
184k
    if (*begin == CharT{'L'}) {
6929
120k
        handler.on_localized();
6930
120k
        ++begin;
6931
120k
    }
6932
184k
    if (SCN_UNLIKELY(begin == end)) {
6933
0
        handler.on_error("Unexpected end of format string");
6934
0
        return begin;
6935
0
    }
6936
6937
184k
    if (begin != end && *begin != CharT{'}'}) {
6938
63.3k
        do_presentation();
6939
63.3k
    }
6940
184k
    if (SCN_UNLIKELY(begin == end)) {
6941
0
        handler.on_error("Unexpected end of format string");
6942
0
        return begin;
6943
0
    }
6944
6945
184k
    return begin;
6946
184k
}
6947
6948
template <typename CharT, typename Handler>
6949
constexpr const CharT* parse_replacement_field(const CharT* begin,
6950
                                               const CharT* end,
6951
                                               Handler& handler)
6952
4.82M
{
6953
4.82M
    struct id_adapter {
6954
4.82M
        constexpr void operator()()
6955
4.82M
        {
6956
4.77M
            arg_id = handler.on_arg_id();
6957
4.77M
        }
impl.cpp:scn::v3::detail::parse_replacement_field<char, scn::v3::(anonymous namespace)::format_handler<true, char> >(char const*, char const*, scn::v3::(anonymous namespace)::format_handler<true, char>&)::id_adapter::operator()()
Line
Count
Source
6955
1.25M
        {
6956
1.25M
            arg_id = handler.on_arg_id();
6957
1.25M
        }
impl.cpp:scn::v3::detail::parse_replacement_field<char, scn::v3::(anonymous namespace)::format_handler<false, char> >(char const*, char const*, scn::v3::(anonymous namespace)::format_handler<false, char>&)::id_adapter::operator()()
Line
Count
Source
6955
1.28M
        {
6956
1.28M
            arg_id = handler.on_arg_id();
6957
1.28M
        }
impl.cpp:scn::v3::detail::parse_replacement_field<wchar_t, scn::v3::(anonymous namespace)::format_handler<true, wchar_t> >(wchar_t const*, wchar_t const*, scn::v3::(anonymous namespace)::format_handler<true, wchar_t>&)::id_adapter::operator()()
Line
Count
Source
6955
1.30M
        {
6956
1.30M
            arg_id = handler.on_arg_id();
6957
1.30M
        }
impl.cpp:scn::v3::detail::parse_replacement_field<wchar_t, scn::v3::(anonymous namespace)::format_handler<false, wchar_t> >(wchar_t const*, wchar_t const*, scn::v3::(anonymous namespace)::format_handler<false, wchar_t>&)::id_adapter::operator()()
Line
Count
Source
6955
921k
        {
6956
921k
            arg_id = handler.on_arg_id();
6957
921k
        }
6958
4.82M
        constexpr void operator()(std::size_t id)
6959
4.82M
        {
6960
2.87k
            arg_id = handler.on_arg_id(id);
6961
2.87k
        }
impl.cpp:scn::v3::detail::parse_replacement_field<char, scn::v3::(anonymous namespace)::format_handler<true, char> >(char const*, char const*, scn::v3::(anonymous namespace)::format_handler<true, char>&)::id_adapter::operator()(unsigned long)
Line
Count
Source
6959
2.60k
        {
6960
2.60k
            arg_id = handler.on_arg_id(id);
6961
2.60k
        }
Unexecuted instantiation: impl.cpp:scn::v3::detail::parse_replacement_field<char, scn::v3::(anonymous namespace)::format_handler<false, char> >(char const*, char const*, scn::v3::(anonymous namespace)::format_handler<false, char>&)::id_adapter::operator()(unsigned long)
impl.cpp:scn::v3::detail::parse_replacement_field<wchar_t, scn::v3::(anonymous namespace)::format_handler<true, wchar_t> >(wchar_t const*, wchar_t const*, scn::v3::(anonymous namespace)::format_handler<true, wchar_t>&)::id_adapter::operator()(unsigned long)
Line
Count
Source
6959
270
        {
6960
270
            arg_id = handler.on_arg_id(id);
6961
270
        }
Unexecuted instantiation: impl.cpp:scn::v3::detail::parse_replacement_field<wchar_t, scn::v3::(anonymous namespace)::format_handler<false, wchar_t> >(wchar_t const*, wchar_t const*, scn::v3::(anonymous namespace)::format_handler<false, wchar_t>&)::id_adapter::operator()(unsigned long)
6962
6963
4.82M
        constexpr void on_error(const char* msg)
6964
4.82M
        {
6965
35.5k
            SCN_UNLIKELY_ATTR
6966
35.5k
            handler.on_error(msg);
6967
35.5k
        }
impl.cpp:scn::v3::detail::parse_replacement_field<char, scn::v3::(anonymous namespace)::format_handler<true, char> >(char const*, char const*, scn::v3::(anonymous namespace)::format_handler<true, char>&)::id_adapter::on_error(char const*)
Line
Count
Source
6964
35.0k
        {
6965
35.0k
            SCN_UNLIKELY_ATTR
6966
35.0k
            handler.on_error(msg);
6967
35.0k
        }
Unexecuted instantiation: impl.cpp:scn::v3::detail::parse_replacement_field<char, scn::v3::(anonymous namespace)::format_handler<false, char> >(char const*, char const*, scn::v3::(anonymous namespace)::format_handler<false, char>&)::id_adapter::on_error(char const*)
impl.cpp:scn::v3::detail::parse_replacement_field<wchar_t, scn::v3::(anonymous namespace)::format_handler<true, wchar_t> >(wchar_t const*, wchar_t const*, scn::v3::(anonymous namespace)::format_handler<true, wchar_t>&)::id_adapter::on_error(char const*)
Line
Count
Source
6964
456
        {
6965
456
            SCN_UNLIKELY_ATTR
6966
456
            handler.on_error(msg);
6967
456
        }
Unexecuted instantiation: impl.cpp:scn::v3::detail::parse_replacement_field<wchar_t, scn::v3::(anonymous namespace)::format_handler<false, wchar_t> >(wchar_t const*, wchar_t const*, scn::v3::(anonymous namespace)::format_handler<false, wchar_t>&)::id_adapter::on_error(char const*)
6968
6969
4.82M
        Handler& handler;
6970
4.82M
        std::size_t arg_id;
6971
4.82M
    };
6972
6973
4.82M
    ++begin;
6974
4.82M
    if (SCN_UNLIKELY(begin == end)) {
6975
162
        handler.on_error("Unexpected end of replacement field");
6976
162
        return begin;
6977
162
    }
6978
6979
4.82M
    if (*begin == CharT{'}'}) {
6980
9.92k
        handler.on_replacement_field(handler.on_arg_id(), begin);
6981
9.92k
    }
6982
4.81M
    else if (*begin == CharT{'{'}) {
6983
5.54k
        handler.on_literal_text(begin, begin + 1);
6984
5.54k
    }
6985
4.80M
    else {
6986
4.80M
        auto adapter = id_adapter{handler, 0};
6987
4.80M
        begin = parse_arg_id(begin, end, adapter);
6988
6989
4.80M
        if (SCN_UNLIKELY(begin == end)) {
6990
230
            handler.on_error("Missing '}' in format string");
6991
230
            return begin;
6992
230
        }
6993
6994
4.80M
        if (*begin == CharT{'}'}) {
6995
274
            handler.on_replacement_field(adapter.arg_id, begin);
6996
274
        }
6997
4.80M
        else if (*begin == CharT{':'}) {
6998
4.77M
            if (SCN_UNLIKELY(begin + 1 == end)) {
6999
124
                handler.on_error("Unexpected end of replacement field");
7000
124
                return begin;
7001
124
            }
7002
4.77M
            begin = handler.on_format_specs(adapter.arg_id, begin + 1, end);
7003
4.77M
            if (SCN_UNLIKELY(begin == end || *begin != '}')) {
7004
195k
                handler.on_error("Unknown format specifier");
7005
195k
                return begin;
7006
195k
            }
7007
4.77M
        }
7008
35.2k
        else {
7009
35.2k
            SCN_UNLIKELY_ATTR
7010
35.2k
            handler.on_error("Missing '}' in format string");
7011
35.2k
            return begin;
7012
35.2k
        }
7013
4.80M
    }
7014
4.59M
    return begin + 1;
7015
4.82M
}
impl.cpp:char const* scn::v3::detail::parse_replacement_field<char, scn::v3::(anonymous namespace)::format_handler<true, char> >(char const*, char const*, scn::v3::(anonymous namespace)::format_handler<true, char>&)
Line
Count
Source
6952
1.30M
{
6953
1.30M
    struct id_adapter {
6954
1.30M
        constexpr void operator()()
6955
1.30M
        {
6956
1.30M
            arg_id = handler.on_arg_id();
6957
1.30M
        }
6958
1.30M
        constexpr void operator()(std::size_t id)
6959
1.30M
        {
6960
1.30M
            arg_id = handler.on_arg_id(id);
6961
1.30M
        }
6962
6963
1.30M
        constexpr void on_error(const char* msg)
6964
1.30M
        {
6965
1.30M
            SCN_UNLIKELY_ATTR
6966
1.30M
            handler.on_error(msg);
6967
1.30M
        }
6968
6969
1.30M
        Handler& handler;
6970
1.30M
        std::size_t arg_id;
6971
1.30M
    };
6972
6973
1.30M
    ++begin;
6974
1.30M
    if (SCN_UNLIKELY(begin == end)) {
6975
110
        handler.on_error("Unexpected end of replacement field");
6976
110
        return begin;
6977
110
    }
6978
6979
1.30M
    if (*begin == CharT{'}'}) {
6980
5.69k
        handler.on_replacement_field(handler.on_arg_id(), begin);
6981
5.69k
    }
6982
1.30M
    else if (*begin == CharT{'{'}) {
6983
5.40k
        handler.on_literal_text(begin, begin + 1);
6984
5.40k
    }
6985
1.29M
    else {
6986
1.29M
        auto adapter = id_adapter{handler, 0};
6987
1.29M
        begin = parse_arg_id(begin, end, adapter);
6988
6989
1.29M
        if (SCN_UNLIKELY(begin == end)) {
6990
110
            handler.on_error("Missing '}' in format string");
6991
110
            return begin;
6992
110
        }
6993
6994
1.29M
        if (*begin == CharT{'}'}) {
6995
140
            handler.on_replacement_field(adapter.arg_id, begin);
6996
140
        }
6997
1.29M
        else if (*begin == CharT{':'}) {
6998
1.26M
            if (SCN_UNLIKELY(begin + 1 == end)) {
6999
74
                handler.on_error("Unexpected end of replacement field");
7000
74
                return begin;
7001
74
            }
7002
1.26M
            begin = handler.on_format_specs(adapter.arg_id, begin + 1, end);
7003
1.26M
            if (SCN_UNLIKELY(begin == end || *begin != '}')) {
7004
36.7k
                handler.on_error("Unknown format specifier");
7005
36.7k
                return begin;
7006
36.7k
            }
7007
1.26M
        }
7008
34.9k
        else {
7009
34.9k
            SCN_UNLIKELY_ATTR
7010
34.9k
            handler.on_error("Missing '}' in format string");
7011
34.9k
            return begin;
7012
34.9k
        }
7013
1.29M
    }
7014
1.23M
    return begin + 1;
7015
1.30M
}
impl.cpp:char const* scn::v3::detail::parse_replacement_field<char, scn::v3::(anonymous namespace)::format_handler<false, char> >(char const*, char const*, scn::v3::(anonymous namespace)::format_handler<false, char>&)
Line
Count
Source
6952
1.28M
{
6953
1.28M
    struct id_adapter {
6954
1.28M
        constexpr void operator()()
6955
1.28M
        {
6956
1.28M
            arg_id = handler.on_arg_id();
6957
1.28M
        }
6958
1.28M
        constexpr void operator()(std::size_t id)
6959
1.28M
        {
6960
1.28M
            arg_id = handler.on_arg_id(id);
6961
1.28M
        }
6962
6963
1.28M
        constexpr void on_error(const char* msg)
6964
1.28M
        {
6965
1.28M
            SCN_UNLIKELY_ATTR
6966
1.28M
            handler.on_error(msg);
6967
1.28M
        }
6968
6969
1.28M
        Handler& handler;
6970
1.28M
        std::size_t arg_id;
6971
1.28M
    };
6972
6973
1.28M
    ++begin;
6974
1.28M
    if (SCN_UNLIKELY(begin == end)) {
6975
0
        handler.on_error("Unexpected end of replacement field");
6976
0
        return begin;
6977
0
    }
6978
6979
1.28M
    if (*begin == CharT{'}'}) {
6980
0
        handler.on_replacement_field(handler.on_arg_id(), begin);
6981
0
    }
6982
1.28M
    else if (*begin == CharT{'{'}) {
6983
0
        handler.on_literal_text(begin, begin + 1);
6984
0
    }
6985
1.28M
    else {
6986
1.28M
        auto adapter = id_adapter{handler, 0};
6987
1.28M
        begin = parse_arg_id(begin, end, adapter);
6988
6989
1.28M
        if (SCN_UNLIKELY(begin == end)) {
6990
0
            handler.on_error("Missing '}' in format string");
6991
0
            return begin;
6992
0
        }
6993
6994
1.28M
        if (*begin == CharT{'}'}) {
6995
0
            handler.on_replacement_field(adapter.arg_id, begin);
6996
0
        }
6997
1.28M
        else if (*begin == CharT{':'}) {
6998
1.28M
            if (SCN_UNLIKELY(begin + 1 == end)) {
6999
0
                handler.on_error("Unexpected end of replacement field");
7000
0
                return begin;
7001
0
            }
7002
1.28M
            begin = handler.on_format_specs(adapter.arg_id, begin + 1, end);
7003
1.28M
            if (SCN_UNLIKELY(begin == end || *begin != '}')) {
7004
29.5k
                handler.on_error("Unknown format specifier");
7005
29.5k
                return begin;
7006
29.5k
            }
7007
1.28M
        }
7008
0
        else {
7009
0
            SCN_UNLIKELY_ATTR
7010
0
            handler.on_error("Missing '}' in format string");
7011
0
            return begin;
7012
0
        }
7013
1.28M
    }
7014
1.25M
    return begin + 1;
7015
1.28M
}
impl.cpp:wchar_t const* scn::v3::detail::parse_replacement_field<wchar_t, scn::v3::(anonymous namespace)::format_handler<true, wchar_t> >(wchar_t const*, wchar_t const*, scn::v3::(anonymous namespace)::format_handler<true, wchar_t>&)
Line
Count
Source
6952
1.31M
{
6953
1.31M
    struct id_adapter {
6954
1.31M
        constexpr void operator()()
6955
1.31M
        {
6956
1.31M
            arg_id = handler.on_arg_id();
6957
1.31M
        }
6958
1.31M
        constexpr void operator()(std::size_t id)
6959
1.31M
        {
6960
1.31M
            arg_id = handler.on_arg_id(id);
6961
1.31M
        }
6962
6963
1.31M
        constexpr void on_error(const char* msg)
6964
1.31M
        {
6965
1.31M
            SCN_UNLIKELY_ATTR
6966
1.31M
            handler.on_error(msg);
6967
1.31M
        }
6968
6969
1.31M
        Handler& handler;
6970
1.31M
        std::size_t arg_id;
6971
1.31M
    };
6972
6973
1.31M
    ++begin;
6974
1.31M
    if (SCN_UNLIKELY(begin == end)) {
6975
52
        handler.on_error("Unexpected end of replacement field");
6976
52
        return begin;
6977
52
    }
6978
6979
1.31M
    if (*begin == CharT{'}'}) {
6980
4.22k
        handler.on_replacement_field(handler.on_arg_id(), begin);
6981
4.22k
    }
6982
1.30M
    else if (*begin == CharT{'{'}) {
6983
142
        handler.on_literal_text(begin, begin + 1);
6984
142
    }
6985
1.30M
    else {
6986
1.30M
        auto adapter = id_adapter{handler, 0};
6987
1.30M
        begin = parse_arg_id(begin, end, adapter);
6988
6989
1.30M
        if (SCN_UNLIKELY(begin == end)) {
6990
120
            handler.on_error("Missing '}' in format string");
6991
120
            return begin;
6992
120
        }
6993
6994
1.30M
        if (*begin == CharT{'}'}) {
6995
134
            handler.on_replacement_field(adapter.arg_id, begin);
6996
134
        }
6997
1.30M
        else if (*begin == CharT{':'}) {
6998
1.30M
            if (SCN_UNLIKELY(begin + 1 == end)) {
6999
50
                handler.on_error("Unexpected end of replacement field");
7000
50
                return begin;
7001
50
            }
7002
1.30M
            begin = handler.on_format_specs(adapter.arg_id, begin + 1, end);
7003
1.30M
            if (SCN_UNLIKELY(begin == end || *begin != '}')) {
7004
69.8k
                handler.on_error("Unknown format specifier");
7005
69.8k
                return begin;
7006
69.8k
            }
7007
1.30M
        }
7008
336
        else {
7009
336
            SCN_UNLIKELY_ATTR
7010
336
            handler.on_error("Missing '}' in format string");
7011
336
            return begin;
7012
336
        }
7013
1.30M
    }
7014
1.24M
    return begin + 1;
7015
1.31M
}
impl.cpp:wchar_t const* scn::v3::detail::parse_replacement_field<wchar_t, scn::v3::(anonymous namespace)::format_handler<false, wchar_t> >(wchar_t const*, wchar_t const*, scn::v3::(anonymous namespace)::format_handler<false, wchar_t>&)
Line
Count
Source
6952
921k
{
6953
921k
    struct id_adapter {
6954
921k
        constexpr void operator()()
6955
921k
        {
6956
921k
            arg_id = handler.on_arg_id();
6957
921k
        }
6958
921k
        constexpr void operator()(std::size_t id)
6959
921k
        {
6960
921k
            arg_id = handler.on_arg_id(id);
6961
921k
        }
6962
6963
921k
        constexpr void on_error(const char* msg)
6964
921k
        {
6965
921k
            SCN_UNLIKELY_ATTR
6966
921k
            handler.on_error(msg);
6967
921k
        }
6968
6969
921k
        Handler& handler;
6970
921k
        std::size_t arg_id;
6971
921k
    };
6972
6973
921k
    ++begin;
6974
921k
    if (SCN_UNLIKELY(begin == end)) {
6975
0
        handler.on_error("Unexpected end of replacement field");
6976
0
        return begin;
6977
0
    }
6978
6979
921k
    if (*begin == CharT{'}'}) {
6980
0
        handler.on_replacement_field(handler.on_arg_id(), begin);
6981
0
    }
6982
921k
    else if (*begin == CharT{'{'}) {
6983
0
        handler.on_literal_text(begin, begin + 1);
6984
0
    }
6985
921k
    else {
6986
921k
        auto adapter = id_adapter{handler, 0};
6987
921k
        begin = parse_arg_id(begin, end, adapter);
6988
6989
921k
        if (SCN_UNLIKELY(begin == end)) {
6990
0
            handler.on_error("Missing '}' in format string");
6991
0
            return begin;
6992
0
        }
6993
6994
921k
        if (*begin == CharT{'}'}) {
6995
0
            handler.on_replacement_field(adapter.arg_id, begin);
6996
0
        }
6997
921k
        else if (*begin == CharT{':'}) {
6998
921k
            if (SCN_UNLIKELY(begin + 1 == end)) {
6999
0
                handler.on_error("Unexpected end of replacement field");
7000
0
                return begin;
7001
0
            }
7002
921k
            begin = handler.on_format_specs(adapter.arg_id, begin + 1, end);
7003
921k
            if (SCN_UNLIKELY(begin == end || *begin != '}')) {
7004
59.0k
                handler.on_error("Unknown format specifier");
7005
59.0k
                return begin;
7006
59.0k
            }
7007
921k
        }
7008
0
        else {
7009
0
            SCN_UNLIKELY_ATTR
7010
0
            handler.on_error("Missing '}' in format string");
7011
0
            return begin;
7012
0
        }
7013
921k
    }
7014
862k
    return begin + 1;
7015
921k
}
7016
7017
template <bool IsConstexpr, typename CharT, typename Handler>
7018
constexpr void parse_format_string_impl(std::basic_string_view<CharT> format,
7019
                                        Handler&& handler)
7020
4.98M
{
7021
    // TODO: memchr fast path with a larger (> 32) format string
7022
7023
4.98M
    auto begin = format.data();
7024
4.98M
    auto it = begin;
7025
4.98M
    const auto end = format.data() + format.size();
7026
7027
424M
    while (it != end) {
7028
420M
        const auto ch = *it++;
7029
420M
        if (ch == CharT{'{'}) {
7030
4.82M
            handler.on_literal_text(begin, it - 1);
7031
7032
4.82M
            begin = it = parse_replacement_field(it - 1, end, handler);
7033
4.82M
            if (!handler) {
7034
1.07M
                return;
7035
1.07M
            }
7036
4.82M
        }
7037
415M
        else if (ch == CharT{'}'}) {
7038
104k
            if (SCN_UNLIKELY(it == end || *it != CharT{'}'})) {
7039
102k
                handler.on_error("Unmatched '}' in format string");
7040
102k
                return;
7041
102k
            }
7042
7043
2.45k
            handler.on_literal_text(begin, it);
7044
2.45k
            begin = ++it;
7045
2.45k
        }
7046
420M
    }
7047
7048
3.80M
    handler.on_literal_text(begin, end);
7049
3.80M
}
impl.cpp:void scn::v3::detail::parse_format_string_impl<false, char, scn::v3::(anonymous namespace)::format_handler<true, char>&>(std::__1::basic_string_view<char, std::__1::char_traits<char> >, scn::v3::(anonymous namespace)::format_handler<true, char>&)
Line
Count
Source
7020
1.30M
{
7021
    // TODO: memchr fast path with a larger (> 32) format string
7022
7023
1.30M
    auto begin = format.data();
7024
1.30M
    auto it = begin;
7025
1.30M
    const auto end = format.data() + format.size();
7026
7027
2.47M
    while (it != end) {
7028
1.42M
        const auto ch = *it++;
7029
1.42M
        if (ch == CharT{'{'}) {
7030
1.30M
            handler.on_literal_text(begin, it - 1);
7031
7032
1.30M
            begin = it = parse_replacement_field(it - 1, end, handler);
7033
1.30M
            if (!handler) {
7034
256k
                return;
7035
256k
            }
7036
1.30M
        }
7037
122k
        else if (ch == CharT{'}'}) {
7038
2.08k
            if (SCN_UNLIKELY(it == end || *it != CharT{'}'})) {
7039
916
                handler.on_error("Unmatched '}' in format string");
7040
916
                return;
7041
916
            }
7042
7043
1.16k
            handler.on_literal_text(begin, it);
7044
1.16k
            begin = ++it;
7045
1.16k
        }
7046
1.42M
    }
7047
7048
1.04M
    handler.on_literal_text(begin, end);
7049
1.04M
}
impl.cpp:void scn::v3::detail::parse_format_string_impl<false, char, scn::v3::(anonymous namespace)::format_handler<false, char>&>(std::__1::basic_string_view<char, std::__1::char_traits<char> >, scn::v3::(anonymous namespace)::format_handler<false, char>&)
Line
Count
Source
7020
1.28M
{
7021
    // TODO: memchr fast path with a larger (> 32) format string
7022
7023
1.28M
    auto begin = format.data();
7024
1.28M
    auto it = begin;
7025
1.28M
    const auto end = format.data() + format.size();
7026
7027
2.41M
    while (it != end) {
7028
1.28M
        const auto ch = *it++;
7029
1.28M
        if (ch == CharT{'{'}) {
7030
1.28M
            handler.on_literal_text(begin, it - 1);
7031
7032
1.28M
            begin = it = parse_replacement_field(it - 1, end, handler);
7033
1.28M
            if (!handler) {
7034
153k
                return;
7035
153k
            }
7036
1.28M
        }
7037
0
        else if (ch == CharT{'}'}) {
7038
0
            if (SCN_UNLIKELY(it == end || *it != CharT{'}'})) {
7039
0
                handler.on_error("Unmatched '}' in format string");
7040
0
                return;
7041
0
            }
7042
7043
0
            handler.on_literal_text(begin, it);
7044
0
            begin = ++it;
7045
0
        }
7046
1.28M
    }
7047
7048
1.13M
    handler.on_literal_text(begin, end);
7049
1.13M
}
impl.cpp:void scn::v3::detail::parse_format_string_impl<false, wchar_t, scn::v3::(anonymous namespace)::format_handler<true, wchar_t>&>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, scn::v3::(anonymous namespace)::format_handler<true, wchar_t>&)
Line
Count
Source
7020
1.47M
{
7021
    // TODO: memchr fast path with a larger (> 32) format string
7022
7023
1.47M
    auto begin = format.data();
7024
1.47M
    auto it = begin;
7025
1.47M
    const auto end = format.data() + format.size();
7026
7027
417M
    while (it != end) {
7028
416M
        const auto ch = *it++;
7029
416M
        if (ch == CharT{'{'}) {
7030
1.31M
            handler.on_literal_text(begin, it - 1);
7031
7032
1.31M
            begin = it = parse_replacement_field(it - 1, end, handler);
7033
1.31M
            if (!handler) {
7034
360k
                return;
7035
360k
            }
7036
1.31M
        }
7037
415M
        else if (ch == CharT{'}'}) {
7038
102k
            if (SCN_UNLIKELY(it == end || *it != CharT{'}'})) {
7039
101k
                handler.on_error("Unmatched '}' in format string");
7040
101k
                return;
7041
101k
            }
7042
7043
1.29k
            handler.on_literal_text(begin, it);
7044
1.29k
            begin = ++it;
7045
1.29k
        }
7046
416M
    }
7047
7048
1.01M
    handler.on_literal_text(begin, end);
7049
1.01M
}
impl.cpp:void scn::v3::detail::parse_format_string_impl<false, wchar_t, scn::v3::(anonymous namespace)::format_handler<false, wchar_t>&>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, scn::v3::(anonymous namespace)::format_handler<false, wchar_t>&)
Line
Count
Source
7020
921k
{
7021
    // TODO: memchr fast path with a larger (> 32) format string
7022
7023
921k
    auto begin = format.data();
7024
921k
    auto it = begin;
7025
921k
    const auto end = format.data() + format.size();
7026
7027
1.53M
    while (it != end) {
7028
921k
        const auto ch = *it++;
7029
921k
        if (ch == CharT{'{'}) {
7030
921k
            handler.on_literal_text(begin, it - 1);
7031
7032
921k
            begin = it = parse_replacement_field(it - 1, end, handler);
7033
921k
            if (!handler) {
7034
306k
                return;
7035
306k
            }
7036
921k
        }
7037
0
        else if (ch == CharT{'}'}) {
7038
0
            if (SCN_UNLIKELY(it == end || *it != CharT{'}'})) {
7039
0
                handler.on_error("Unmatched '}' in format string");
7040
0
                return;
7041
0
            }
7042
7043
0
            handler.on_literal_text(begin, it);
7044
0
            begin = ++it;
7045
0
        }
7046
921k
    }
7047
7048
614k
    handler.on_literal_text(begin, end);
7049
614k
}
7050
7051
template <bool IsConstexpr, typename CharT, typename Handler>
7052
constexpr scan_error parse_format_string(std::basic_string_view<CharT> format,
7053
                                         Handler&& handler)
7054
4.98M
{
7055
4.98M
    parse_format_string_impl<IsConstexpr>(format, handler);
7056
4.98M
    handler.check_args_exhausted();
7057
4.98M
    return handler.get_error();
7058
4.98M
}
impl.cpp:scn::v3::scan_error scn::v3::detail::parse_format_string<false, char, scn::v3::(anonymous namespace)::format_handler<true, char>&>(std::__1::basic_string_view<char, std::__1::char_traits<char> >, scn::v3::(anonymous namespace)::format_handler<true, char>&)
Line
Count
Source
7054
1.30M
{
7055
1.30M
    parse_format_string_impl<IsConstexpr>(format, handler);
7056
1.30M
    handler.check_args_exhausted();
7057
1.30M
    return handler.get_error();
7058
1.30M
}
impl.cpp:scn::v3::scan_error scn::v3::detail::parse_format_string<false, char, scn::v3::(anonymous namespace)::format_handler<false, char>&>(std::__1::basic_string_view<char, std::__1::char_traits<char> >, scn::v3::(anonymous namespace)::format_handler<false, char>&)
Line
Count
Source
7054
1.28M
{
7055
1.28M
    parse_format_string_impl<IsConstexpr>(format, handler);
7056
1.28M
    handler.check_args_exhausted();
7057
1.28M
    return handler.get_error();
7058
1.28M
}
impl.cpp:scn::v3::scan_error scn::v3::detail::parse_format_string<false, wchar_t, scn::v3::(anonymous namespace)::format_handler<true, wchar_t>&>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, scn::v3::(anonymous namespace)::format_handler<true, wchar_t>&)
Line
Count
Source
7054
1.47M
{
7055
1.47M
    parse_format_string_impl<IsConstexpr>(format, handler);
7056
1.47M
    handler.check_args_exhausted();
7057
1.47M
    return handler.get_error();
7058
1.47M
}
impl.cpp:scn::v3::scan_error scn::v3::detail::parse_format_string<false, wchar_t, scn::v3::(anonymous namespace)::format_handler<false, wchar_t>&>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, scn::v3::(anonymous namespace)::format_handler<false, wchar_t>&)
Line
Count
Source
7054
921k
{
7055
921k
    parse_format_string_impl<IsConstexpr>(format, handler);
7056
921k
    handler.check_args_exhausted();
7057
921k
    return handler.get_error();
7058
921k
}
7059
7060
enum class arg_type_category {
7061
    none,
7062
    integer,
7063
    unsigned_integer,
7064
    floating,
7065
    string,
7066
    pointer,
7067
    boolean,
7068
    character,
7069
    custom
7070
};
7071
7072
constexpr arg_type_category get_category_for_arg_type(arg_type type)
7073
834k
{
7074
834k
    switch (type) {
7075
100
        case arg_type::none_type:
7076
100
            return arg_type_category::none;
7077
7078
27.3k
        case arg_type::schar_type:
7079
27.3k
        case arg_type::short_type:
7080
58.1k
        case arg_type::int_type:
7081
58.1k
        case arg_type::long_type:
7082
89.2k
        case arg_type::llong_type:
7083
89.2k
            return arg_type_category::integer;
7084
7085
23.7k
        case arg_type::uchar_type:
7086
23.7k
        case arg_type::ushort_type:
7087
49.4k
        case arg_type::uint_type:
7088
49.4k
        case arg_type::ulong_type:
7089
75.3k
        case arg_type::ullong_type:
7090
75.3k
            return arg_type_category::unsigned_integer;
7091
7092
106
        case arg_type::pointer_type:
7093
106
            return arg_type_category::pointer;
7094
106
        case arg_type::bool_type:
7095
106
            return arg_type_category::boolean;
7096
52
        case arg_type::narrow_character_type:
7097
106
        case arg_type::wide_character_type:
7098
106
        case arg_type::code_point_type:
7099
106
            return arg_type_category::character;
7100
7101
202k
        case arg_type::float_type:
7102
423k
        case arg_type::double_type:
7103
650k
        case arg_type::ldouble_type:
7104
650k
            return arg_type_category::floating;
7105
7106
2.11k
        case arg_type::narrow_string_view_type:
7107
6.35k
        case arg_type::narrow_string_type:
7108
10.5k
        case arg_type::wide_string_view_type:
7109
18.9k
        case arg_type::wide_string_type:
7110
18.9k
            return arg_type_category::string;
7111
7112
0
        case arg_type::custom_type:
7113
0
            return arg_type_category::custom;
7114
7115
0
            SCN_CLANG_PUSH
7116
0
            SCN_CLANG_IGNORE("-Wcovered-switch-default")
7117
0
        default:
7118
0
            SCN_ENSURE(false);
7119
834k
            SCN_UNREACHABLE;
7120
834k
            SCN_CLANG_POP
7121
834k
    }
7122
7123
834k
    SCN_UNREACHABLE;
7124
834k
}
7125
7126
template <typename Handler>
7127
class specs_checker : public Handler {
7128
public:
7129
    template <typename H>
7130
    constexpr specs_checker(H&& handler, arg_type type)
7131
4.77M
        : Handler(SCN_FWD(handler)), m_arg_type(type)
7132
4.77M
    {
7133
4.77M
        SCN_EXPECT(m_arg_type != arg_type::custom_type);
7134
4.77M
    }
impl.cpp:scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<char> > >::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<char> > >(scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<char> >&&, scn::v3::detail::arg_type)
Line
Count
Source
7131
1.26M
        : Handler(SCN_FWD(handler)), m_arg_type(type)
7132
1.26M
    {
7133
1.26M
        SCN_EXPECT(m_arg_type != arg_type::custom_type);
7134
1.26M
    }
impl.cpp:scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<char> > >::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<char> > >(scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<char> >&&, scn::v3::detail::arg_type)
Line
Count
Source
7131
1.28M
        : Handler(SCN_FWD(handler)), m_arg_type(type)
7132
1.28M
    {
7133
1.28M
        SCN_EXPECT(m_arg_type != arg_type::custom_type);
7134
1.28M
    }
impl.cpp:scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<wchar_t> > >::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<wchar_t> > >(scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >&&, scn::v3::detail::arg_type)
Line
Count
Source
7131
1.30M
        : Handler(SCN_FWD(handler)), m_arg_type(type)
7132
1.30M
    {
7133
1.30M
        SCN_EXPECT(m_arg_type != arg_type::custom_type);
7134
1.30M
    }
impl.cpp:scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<wchar_t> > >::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<wchar_t> > >(scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<wchar_t> >&&, scn::v3::detail::arg_type)
Line
Count
Source
7131
921k
        : Handler(SCN_FWD(handler)), m_arg_type(type)
7132
921k
    {
7133
921k
        SCN_EXPECT(m_arg_type != arg_type::custom_type);
7134
921k
    }
7135
7136
    constexpr void on_localized()
7137
834k
    {
7138
834k
        const auto cat = get_category_for_arg_type(m_arg_type);
7139
834k
        if (cat != arg_type_category::integer &&
7140
834k
            cat != arg_type_category::unsigned_integer &&
7141
834k
            cat != arg_type_category::floating &&
7142
834k
            cat != arg_type_category::boolean) {
7143
19.2k
            SCN_UNLIKELY_ATTR
7144
            // clang-format off
7145
19.2k
            return this->on_error("'L' specifier can only be used with arguments of integer, floating-point, or boolean types");
7146
            // clang-format on
7147
19.2k
        }
7148
7149
815k
        Handler::on_localized();
7150
815k
    }
impl.cpp:scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<char> > >::on_localized()
Line
Count
Source
7137
275k
    {
7138
275k
        const auto cat = get_category_for_arg_type(m_arg_type);
7139
275k
        if (cat != arg_type_category::integer &&
7140
275k
            cat != arg_type_category::unsigned_integer &&
7141
275k
            cat != arg_type_category::floating &&
7142
275k
            cat != arg_type_category::boolean) {
7143
4.44k
            SCN_UNLIKELY_ATTR
7144
            // clang-format off
7145
4.44k
            return this->on_error("'L' specifier can only be used with arguments of integer, floating-point, or boolean types");
7146
            // clang-format on
7147
4.44k
        }
7148
7149
271k
        Handler::on_localized();
7150
271k
    }
impl.cpp:scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<char> > >::on_localized()
Line
Count
Source
7137
312k
    {
7138
312k
        const auto cat = get_category_for_arg_type(m_arg_type);
7139
312k
        if (cat != arg_type_category::integer &&
7140
312k
            cat != arg_type_category::unsigned_integer &&
7141
312k
            cat != arg_type_category::floating &&
7142
312k
            cat != arg_type_category::boolean) {
7143
2.06k
            SCN_UNLIKELY_ATTR
7144
            // clang-format off
7145
2.06k
            return this->on_error("'L' specifier can only be used with arguments of integer, floating-point, or boolean types");
7146
            // clang-format on
7147
2.06k
        }
7148
7149
310k
        Handler::on_localized();
7150
310k
    }
impl.cpp:scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<wchar_t> > >::on_localized()
Line
Count
Source
7137
125k
    {
7138
125k
        const auto cat = get_category_for_arg_type(m_arg_type);
7139
125k
        if (cat != arg_type_category::integer &&
7140
125k
            cat != arg_type_category::unsigned_integer &&
7141
125k
            cat != arg_type_category::floating &&
7142
125k
            cat != arg_type_category::boolean) {
7143
8.58k
            SCN_UNLIKELY_ATTR
7144
            // clang-format off
7145
8.58k
            return this->on_error("'L' specifier can only be used with arguments of integer, floating-point, or boolean types");
7146
            // clang-format on
7147
8.58k
        }
7148
7149
116k
        Handler::on_localized();
7150
116k
    }
impl.cpp:scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<wchar_t> > >::on_localized()
Line
Count
Source
7137
120k
    {
7138
120k
        const auto cat = get_category_for_arg_type(m_arg_type);
7139
120k
        if (cat != arg_type_category::integer &&
7140
120k
            cat != arg_type_category::unsigned_integer &&
7141
120k
            cat != arg_type_category::floating &&
7142
120k
            cat != arg_type_category::boolean) {
7143
4.13k
            SCN_UNLIKELY_ATTR
7144
            // clang-format off
7145
4.13k
            return this->on_error("'L' specifier can only be used with arguments of integer, floating-point, or boolean types");
7146
            // clang-format on
7147
4.13k
        }
7148
7149
116k
        Handler::on_localized();
7150
116k
    }
7151
7152
private:
7153
    arg_type m_arg_type;
7154
};
7155
7156
template <typename Handler>
7157
constexpr void check_int_type_specs(const format_specs& specs,
7158
                                    Handler&& handler)
7159
897k
{
7160
897k
    if (SCN_UNLIKELY(specs.type > presentation_type::int_hex)) {
7161
16.4k
        return handler.on_error("Invalid type specifier for integer type");
7162
16.4k
    }
7163
881k
    if (specs.localized) {
7164
164k
        if (SCN_UNLIKELY(specs.type == presentation_type::int_binary)) {
7165
            // clang-format off
7166
8
            handler.on_error("'b'/'B' specifier not supported for localized integers");
7167
            // clang-format on
7168
8
            return;
7169
8
        }
7170
164k
        if (SCN_UNLIKELY(specs.type == presentation_type::int_arbitrary_base)) {
7171
            // clang-format off
7172
0
            return handler.on_error("Arbitrary bases not supported for localized integers");
7173
            // clang-format on
7174
0
        }
7175
164k
    }
7176
881k
}
Unexecuted instantiation: void scn::v3::detail::check_int_type_specs<scn::v3::detail::specs_checker<scn::v3::detail::specs_setter>&>(scn::v3::detail::format_specs const&, scn::v3::detail::specs_checker<scn::v3::detail::specs_setter>&)
void scn::v3::detail::check_int_type_specs<scn::v3::impl::reader_error_handler&>(scn::v3::detail::format_specs const&, scn::v3::impl::reader_error_handler&)
Line
Count
Source
7159
897k
{
7160
897k
    if (SCN_UNLIKELY(specs.type > presentation_type::int_hex)) {
7161
16.4k
        return handler.on_error("Invalid type specifier for integer type");
7162
16.4k
    }
7163
881k
    if (specs.localized) {
7164
164k
        if (SCN_UNLIKELY(specs.type == presentation_type::int_binary)) {
7165
            // clang-format off
7166
8
            handler.on_error("'b'/'B' specifier not supported for localized integers");
7167
            // clang-format on
7168
8
            return;
7169
8
        }
7170
164k
        if (SCN_UNLIKELY(specs.type == presentation_type::int_arbitrary_base)) {
7171
            // clang-format off
7172
0
            return handler.on_error("Arbitrary bases not supported for localized integers");
7173
            // clang-format on
7174
0
        }
7175
164k
    }
7176
881k
}
7177
7178
template <typename Handler>
7179
constexpr void check_char_type_specs(const format_specs& specs,
7180
                                     Handler&& handler)
7181
9.17k
{
7182
9.17k
    if (specs.type > presentation_type::int_hex ||
7183
9.17k
        specs.type == presentation_type::int_arbitrary_base) {
7184
8.18k
        SCN_UNLIKELY_ATTR
7185
8.18k
        return handler.on_error("Invalid type specifier for character type");
7186
8.18k
    }
7187
9.17k
}
Unexecuted instantiation: void scn::v3::detail::check_char_type_specs<scn::v3::detail::specs_checker<scn::v3::detail::specs_setter>&>(scn::v3::detail::format_specs const&, scn::v3::detail::specs_checker<scn::v3::detail::specs_setter>&)
void scn::v3::detail::check_char_type_specs<scn::v3::impl::reader_error_handler&>(scn::v3::detail::format_specs const&, scn::v3::impl::reader_error_handler&)
Line
Count
Source
7181
9.17k
{
7182
9.17k
    if (specs.type > presentation_type::int_hex ||
7183
9.17k
        specs.type == presentation_type::int_arbitrary_base) {
7184
8.18k
        SCN_UNLIKELY_ATTR
7185
8.18k
        return handler.on_error("Invalid type specifier for character type");
7186
8.18k
    }
7187
9.17k
}
7188
7189
template <typename Handler>
7190
constexpr void check_code_point_type_specs(const format_specs& specs,
7191
                                           Handler&& handler)
7192
0
{
7193
0
    if (specs.type != presentation_type::none &&
7194
0
        specs.type != presentation_type::character) {
7195
0
        SCN_UNLIKELY_ATTR
7196
0
        return handler.on_error("Invalid type specifier for code point type");
7197
0
    }
7198
0
}
7199
7200
template <typename Handler>
7201
constexpr void check_float_type_specs(const format_specs& specs,
7202
                                      Handler&& handler)
7203
2.42M
{
7204
2.42M
    if (specs.type != presentation_type::none &&
7205
2.42M
        (specs.type < presentation_type::float_hex ||
7206
1.77M
         specs.type > presentation_type::float_general)) {
7207
8.24k
        SCN_UNLIKELY_ATTR
7208
8.24k
        return handler.on_error("Invalid type specifier for float type");
7209
8.24k
    }
7210
2.42M
}
Unexecuted instantiation: void scn::v3::detail::check_float_type_specs<scn::v3::detail::specs_checker<scn::v3::detail::specs_setter>&>(scn::v3::detail::format_specs const&, scn::v3::detail::specs_checker<scn::v3::detail::specs_setter>&)
void scn::v3::detail::check_float_type_specs<scn::v3::impl::reader_error_handler&>(scn::v3::detail::format_specs const&, scn::v3::impl::reader_error_handler&)
Line
Count
Source
7203
2.42M
{
7204
2.42M
    if (specs.type != presentation_type::none &&
7205
2.42M
        (specs.type < presentation_type::float_hex ||
7206
1.77M
         specs.type > presentation_type::float_general)) {
7207
8.24k
        SCN_UNLIKELY_ATTR
7208
8.24k
        return handler.on_error("Invalid type specifier for float type");
7209
8.24k
    }
7210
2.42M
}
7211
7212
template <typename Handler>
7213
constexpr void check_string_type_specs(const format_specs& specs,
7214
                                       Handler&& handler)
7215
1.22M
{
7216
1.22M
    if (specs.type == presentation_type::none ||
7217
1.22M
        specs.type == presentation_type::string ||
7218
1.22M
        specs.type == presentation_type::string_set ||
7219
1.22M
        specs.type == presentation_type::regex ||
7220
1.22M
        specs.type == presentation_type::regex_escaped) {
7221
1.21M
        return;
7222
1.21M
    }
7223
19.3k
    if (specs.type == presentation_type::character) {
7224
18.7k
        if (SCN_UNLIKELY(specs.precision == 0)) {
7225
            // clang-format off
7226
18.6k
            return handler.on_error("'c' type specifier for strings requires the field precision to be specified");
7227
            // clang-format on
7228
18.6k
        }
7229
150
        return;
7230
18.7k
    }
7231
600
    SCN_UNLIKELY_ATTR
7232
600
    handler.on_error("Invalid type specifier for string");
7233
600
}
Unexecuted instantiation: void scn::v3::detail::check_string_type_specs<scn::v3::detail::specs_checker<scn::v3::detail::specs_setter>&>(scn::v3::detail::format_specs const&, scn::v3::detail::specs_checker<scn::v3::detail::specs_setter>&)
void scn::v3::detail::check_string_type_specs<scn::v3::impl::reader_error_handler&>(scn::v3::detail::format_specs const&, scn::v3::impl::reader_error_handler&)
Line
Count
Source
7215
1.22M
{
7216
1.22M
    if (specs.type == presentation_type::none ||
7217
1.22M
        specs.type == presentation_type::string ||
7218
1.22M
        specs.type == presentation_type::string_set ||
7219
1.22M
        specs.type == presentation_type::regex ||
7220
1.22M
        specs.type == presentation_type::regex_escaped) {
7221
1.21M
        return;
7222
1.21M
    }
7223
19.3k
    if (specs.type == presentation_type::character) {
7224
18.7k
        if (SCN_UNLIKELY(specs.precision == 0)) {
7225
            // clang-format off
7226
18.6k
            return handler.on_error("'c' type specifier for strings requires the field precision to be specified");
7227
            // clang-format on
7228
18.6k
        }
7229
150
        return;
7230
18.7k
    }
7231
600
    SCN_UNLIKELY_ATTR
7232
600
    handler.on_error("Invalid type specifier for string");
7233
600
}
7234
7235
template <typename Handler>
7236
constexpr void check_pointer_type_specs(const format_specs& specs,
7237
                                        Handler&& handler)
7238
9.17k
{
7239
9.17k
    if (specs.type != presentation_type::none &&
7240
9.17k
        specs.type != presentation_type::pointer) {
7241
8.26k
        SCN_UNLIKELY_ATTR
7242
8.26k
        return handler.on_error("Invalid type specifier for pointer");
7243
8.26k
    }
7244
9.17k
}
Unexecuted instantiation: void scn::v3::detail::check_pointer_type_specs<scn::v3::detail::specs_checker<scn::v3::detail::specs_setter>&>(scn::v3::detail::format_specs const&, scn::v3::detail::specs_checker<scn::v3::detail::specs_setter>&)
void scn::v3::detail::check_pointer_type_specs<scn::v3::impl::reader_error_handler&>(scn::v3::detail::format_specs const&, scn::v3::impl::reader_error_handler&)
Line
Count
Source
7238
9.17k
{
7239
9.17k
    if (specs.type != presentation_type::none &&
7240
9.17k
        specs.type != presentation_type::pointer) {
7241
8.26k
        SCN_UNLIKELY_ATTR
7242
8.26k
        return handler.on_error("Invalid type specifier for pointer");
7243
8.26k
    }
7244
9.17k
}
7245
7246
template <typename Handler>
7247
constexpr void check_bool_type_specs(const format_specs& specs,
7248
                                     Handler&& handler)
7249
9.27k
{
7250
9.27k
    if (specs.type != presentation_type::none &&
7251
9.27k
        specs.type != presentation_type::string &&
7252
9.27k
        specs.type != presentation_type::int_generic &&
7253
9.27k
        specs.type != presentation_type::int_hex &&
7254
9.27k
        specs.type != presentation_type::int_binary &&
7255
9.27k
        specs.type != presentation_type::int_unsigned_decimal &&
7256
9.27k
        specs.type != presentation_type::int_octal &&
7257
9.27k
        specs.type != presentation_type::int_decimal) {
7258
7.90k
        SCN_UNLIKELY_ATTR
7259
7.90k
        return handler.on_error("Invalid type specifier for boolean");
7260
7.90k
    }
7261
9.27k
}
Unexecuted instantiation: void scn::v3::detail::check_bool_type_specs<scn::v3::detail::specs_checker<scn::v3::detail::specs_setter>&>(scn::v3::detail::format_specs const&, scn::v3::detail::specs_checker<scn::v3::detail::specs_setter>&)
void scn::v3::detail::check_bool_type_specs<scn::v3::impl::reader_error_handler&>(scn::v3::detail::format_specs const&, scn::v3::impl::reader_error_handler&)
Line
Count
Source
7249
9.27k
{
7250
9.27k
    if (specs.type != presentation_type::none &&
7251
9.27k
        specs.type != presentation_type::string &&
7252
9.27k
        specs.type != presentation_type::int_generic &&
7253
9.27k
        specs.type != presentation_type::int_hex &&
7254
9.27k
        specs.type != presentation_type::int_binary &&
7255
9.27k
        specs.type != presentation_type::int_unsigned_decimal &&
7256
9.27k
        specs.type != presentation_type::int_octal &&
7257
9.27k
        specs.type != presentation_type::int_decimal) {
7258
7.90k
        SCN_UNLIKELY_ATTR
7259
7.90k
        return handler.on_error("Invalid type specifier for boolean");
7260
7.90k
    }
7261
9.27k
}
7262
7263
template <typename Handler>
7264
constexpr void check_regex_type_specs(const format_specs& specs,
7265
                                      Handler&& handler)
7266
0
{
7267
0
    if (SCN_UNLIKELY(specs.type == presentation_type::none ||
7268
0
                     specs.charset_string_size == 0)) {
7269
        // clang-format off
7270
0
        return handler.on_error("Regular expression needs to specified when reading regex_matches");
7271
        // clang-format on
7272
0
    }
7273
0
    if (specs.type == presentation_type::regex ||
7274
0
        specs.type == presentation_type::regex_escaped) {
7275
0
        return;
7276
0
    }
7277
0
    SCN_UNLIKELY_ATTR
7278
0
    handler.on_error("Invalid type specifier for regex_matches");
7279
0
}
Unexecuted instantiation: void scn::v3::detail::check_regex_type_specs<scn::v3::detail::specs_checker<scn::v3::detail::specs_setter>&>(scn::v3::detail::format_specs const&, scn::v3::detail::specs_checker<scn::v3::detail::specs_setter>&)
Unexecuted instantiation: void scn::v3::detail::check_regex_type_specs<scn::v3::impl::reader_error_handler&>(scn::v3::detail::format_specs const&, scn::v3::impl::reader_error_handler&)
7280
}  // namespace detail
7281
7282
/**
7283
 * \defgroup format-string Format strings
7284
 *
7285
 * \brief Format string description
7286
 *
7287
 * The format string syntax is heavily influenced by {fmt} and
7288
 * `std::format`, and is largely compatible with it. Scanning functions,
7289
 * such as `scn::scan` and
7290
 * `scn::input`, use the format string syntax described in this section.
7291
 *
7292
 * Format strings consist of:
7293
 *
7294
 *  * Replacement fields, which are surrounded by curly braces `{}`.
7295
 *
7296
 *  * Non-whitespace characters (except `{}`; for literal braces, use
7297
 *    `{{` and `}}`), which consume exactly one identical character from the
7298
 *    input
7299
 *
7300
 *  * Whitespace characters, which consume any and all available consecutive
7301
 *    whitespace from the input.
7302
 *
7303
 * Literal characters are matched by code point one-to-one, with no
7304
 * normalization being done.
7305
 * `Ä` (U+00C4, UTF-8 0xc3 0x84) only matches another U+00C4, and not, for
7306
 * example, U+00A8 (DIAERESIS) and U+0041 (LATIN CAPITAL LETTER A).
7307
 *
7308
 * Characters (code points) are considered to be whitespace characters by
7309
 * the Unicode Pattern_White_Space property, as defined by UAX31-R3a.
7310
 * These code points are:
7311
 *
7312
 *  * ASCII whitespace characters ("\t\n\v\f\r ")
7313
 *  * U+0085 (next line)
7314
 *  * U+200E and U+200F (LEFT-TO-RIGHT MARK and RIGHT-TO-LEFT MARK)
7315
 *  * U+2028 and U+2029 (LINE SEPARATOR and PARAGRAPH SEPARATOR)
7316
 *
7317
 * The grammar for a replacement field is as follows:
7318
 *
7319
 * \code
7320
 * replacement-field   ::= '{' [arg-id] [':' format-spec] '}'
7321
 * arg-id              ::= positive-integer
7322
 *
7323
 * format-spec         ::= [fill-and-align]
7324
 *                         [width] [precision]
7325
 *                         ['L'] [type]
7326
 * fill-and-align      ::= [fill] align
7327
 * fill                ::= any character other than
7328
 *                         '{' or '}'
7329
 * align               ::= one of '<' '>' '^'
7330
 * width               ::= positive-integer
7331
 * precision           ::= '.' nonnegative-integer
7332
 * type                ::= 'a' | 'A' | 'b' | 'B' | 'c' | 'd' |
7333
 *                         'e' | 'E' | 'f' | 'F' | 'g' | 'G' |
7334
 *                         'o' | 'p' | 's' | 'x' | 'X' | 'i' | 'u'
7335
 * \endcode
7336
 *
7337
 * \section arg-ids Argument IDs
7338
 *
7339
 * The `arg-id` specifier can be used to index arguments manually.
7340
 * If manual indexing is used, all of the indices in a format string must be
7341
 * stated explicitly. The same `arg-id` can appear in the format string
7342
 * only once, and must refer to a valid argument.
7343
 *
7344
 * \code{.cpp}
7345
 * // Format string equivalent to "{0} to {1}"
7346
 * auto a = scn::scan<int, int>("2 to 300", "{} to {}");
7347
 * // a->values() == (2, 300)
7348
 *
7349
 * // Manual indexing
7350
 * auto b = scn::scan<int, int>("2 to 300", "{1} to {0}");
7351
 * // b->values() == (300, 2)
7352
 *
7353
 * // INVALID:
7354
 * // Automatic and manual indexing is mixed
7355
 * auto c = scn::scan<int, int>("2 to 300", "{} to {0}");
7356
 *
7357
 * // INVALID:
7358
 * // Same argument is referred to multiple times
7359
 * auto d = scn::scan<int, int>("2 to 300", "{0} to {0}");
7360
 *
7361
 * // INVALID:
7362
 * // {2} does not refer to an argument
7363
 * auto e = scn::scan<int, int>("2 to 300", "{0} to {2}");
7364
 * \endcode
7365
 *
7366
 * \section fill-and-align Fill and align
7367
 *
7368
 * Alignment allows for skipping character before and/or after a value.
7369
 * There are three possible values for alignment:
7370
 *
7371
 * <table>
7372
 * <caption id="align-table">
7373
 * Alignment options
7374
 * </caption>
7375
 *
7376
 * <tr><th>Option</th> <th>Meaning</th></tr>
7377
 *
7378
 * <tr>
7379
 * <td>`<`</td>
7380
 * <td>
7381
 * Align the value to the left (skips fill characters after the value)
7382
 * </td>
7383
 * </tr>
7384
 *
7385
 * <tr>
7386
 * <td>`>`</td>
7387
 * <td>
7388
 * Align the value to the right (skips fill characters before the value)
7389
 * </td>
7390
 * </tr>
7391
 *
7392
 * <tr>
7393
 * <td>`^`</td>
7394
 * <td>
7395
 * Align the value to the center
7396
 * (skips fill characters both before and after the value)
7397
 * </td>
7398
 * </tr>
7399
 * </table>
7400
 *
7401
 * The fill character can be any Unicode code point, except for `{` and `}`.
7402
 * The default fill is any whitespace character, as specified above.
7403
 *
7404
 * For format type specifiers other than `c` (default for `char` and `wchar_t`,
7405
 * available for `string` and `string_view`), `[...]`, and the regex `/.../`,
7406
 * the default alignment is `>`.
7407
 * In practice, this means that leading whitespace is skipped by default.
7408
 * For the `c` format type specifier, there's no default alignment,
7409
 * and no fill characters are skipped, including whitespace.
7410
 *
7411
 * The number of fill characters consumed can be controlled with the width and
7412
 * precision specifiers.
7413
 *
7414
 * \section width Width
7415
 *
7416
 * Width specifies the minimum number of characters that will be read from
7417
 * the source range. It can be any unsigned integer. Any fill characters skipped
7418
 * are included in the width.
7419
 *
7420
 * For the purposes of width calculation, the same algorithm is used that in
7421
 * {fmt}. Every code point has a width of one, except the following ones
7422
 * have a width of 2:
7423
 *
7424
 * * any code point with the East_Asian_Width="W" or East_Asian_Width="F"
7425
 *   Derived Extracted Property as described by UAX#44
7426
 * * U+4DC0 – U+4DFF (Yijing Hexagram Symbols)
7427
 * * U+1F300 – U+1F5FF (Miscellaneous Symbols and Pictographs)
7428
 * * U+1F900 – U+1F9FF (Supplemental Symbols and Pictographs)
7429
 *
7430
 * \section precision Precision
7431
 *
7432
 * Precision specifies the maximum number of characters that will be read from
7433
 * the source range. The method for counting characters is the same as above,
7434
 * with the width field.
7435
 *
7436
 * \section localized Localized
7437
 *
7438
 * The `L` flag enables localized scanning.
7439
 * Its effects are different for each type it is used with:
7440
 *
7441
 *  * For integers, it enables locale-specific thousands separators
7442
 *  * For floating-point numbers, it enables locale-specific thousands and
7443
 *    radix (decimal) separators
7444
 *  * For booleans, it enables locale-specific textual representations (for
7445
 *    `true` and `false`)
7446
 *  * For other types, it has no effect
7447
 *
7448
 * \section type Type specifier
7449
 *
7450
 * The type specifier determines how the data is to be scanned.
7451
 * The type of the argument to be scanned determines what flags are valid.
7452
 *
7453
 * \subsection type-string Type specifier: strings
7454
 *
7455
 * <table>
7456
 * <caption id="type-string-table">
7457
 * String types (`std::basic_string` and `std::basic_string_view`)
7458
 * </caption>
7459
 * <tr><th>Type</th> <th>Meaning</th></tr>
7460
 * <tr>
7461
 * <td>none, `s`</td>
7462
 * <td>
7463
 * Copies from the input until a whitespace character is encountered, or,
7464
 * if using the `<` (left) or `^` (center) alignment,
7465
 * a fill character is encountered.
7466
 * </td>
7467
 * </tr>
7468
 * <tr>
7469
 * <td>`c`</td>
7470
 * <td>
7471
 * Copies from the input until the field width is exhausted.
7472
 * Has no default alignment
7473
 * (doesn't skip preceding whitespace, if no alignment is specified).
7474
 * Errors if no field precision is provided.
7475
 * </td>
7476
 * </tr>
7477
 * <tr>
7478
 * <td>`[...]`</td>
7479
 * <td>
7480
 * Character set matching: copies from the input until a character not specified
7481
 * in the set is encountered. Character ranges can be specified with `-`, and
7482
 * the entire selection can be inverted with a prefix `^`. Matches and supports
7483
 * arbitrary Unicode code points.
7484
 * Has no default alignment
7485
 * (doesn't skip preceding whitespace, if no alignment is specified).
7486
 * </td>
7487
 * </tr>
7488
 * <tr>
7489
 * <td>`/<regex>/<flags>`</td>
7490
 * <td>
7491
 * Regular expression matching: copies from the input until the input does not
7492
 * match the regex.
7493
 * Has no default alignment
7494
 * (doesn't skip preceding whitespace, if no alignment is specified).
7495
 * \see regex
7496
 * </td>
7497
 * </tr>
7498
 * </table>
7499
 *
7500
 * \note `std::basic_string_view` can only be scanned if the source is
7501
 * contiguous.
7502
 *
7503
 * \subsection type-int Type specifier: integers
7504
 *
7505
 * Integer values are scanned as if by using `std::from_chars`,
7506
 * except a positive `+` sign and a base prefix (like `0x`) are always
7507
 * allowed to be present.
7508
 *
7509
 * <table>
7510
 * <caption id="type-int-table">
7511
 * Integer types (`signed` and `unsigned` variants of `char`, `short`,
7512
 * `int`, `long`, and `long long`)
7513
 * </caption>
7514
 * <tr><th>Type</th> <th>Meaning</th></tr>
7515
 * <tr>
7516
 * <td>`b`, `B`</td>
7517
 * <td>
7518
 * `std::from_chars` with base `2`. The base prefix is `0b` or `0B`.
7519
 * </td>
7520
 * </tr>
7521
 * <tr>
7522
 * <td>`o`, `O`</td>
7523
 * <td>
7524
 * `std::from_chars` with base `8`. The base prefix is `0o` or `0O`, or just
7525
 * `0`.
7526
 * </td>
7527
 * </tr>
7528
 * <tr>
7529
 * <td>`x`, `X`</td>
7530
 * <td>
7531
 * `std::from_chars` with base `16`. The base prefix is `0x` or `0X`.
7532
 * </td>
7533
 * </tr>
7534
 * <tr>
7535
 * <td>`d`</td>
7536
 * <td>
7537
 * `std::from_chars` with base `10`. No base prefix allowed.
7538
 * </td>
7539
 * </tr>
7540
 * <tr>
7541
 * <td>`u`</td>
7542
 * <td>
7543
 * `std::from_chars` with base `10`. No base prefix or `-` sign allowed.
7544
 * </td>
7545
 * </tr>
7546
 * <tr>
7547
 * <td>`i`</td>
7548
 * <td>
7549
 * Detect the base from a possible prefix, defaulting to decimal (base-10).
7550
 * </td>
7551
 * </tr>
7552
 * <tr>
7553
 * <td>`rXX` (where XX = [2, 36])</td>
7554
 * <td>
7555
 * Custom base, without a base prefix (r stands for radix).
7556
 * </td>
7557
 * </tr>
7558
 * <tr>
7559
 * <td>`c`</td>
7560
 * <td>
7561
 * Copies a character (code unit) from the input.
7562
 * </td>
7563
 * </tr>
7564
 * <tr>
7565
 * <td>none</td>
7566
 * <td>
7567
 * Same as `d`.
7568
 * </td>
7569
 * </tr>
7570
 * </table>
7571
 *
7572
 * \subsection type-char Type specifier: characters
7573
 *
7574
 * <table>
7575
 * <caption id="type-char-table">
7576
 * Character types (`char` and `wchar_t`), and code points (`char32_t`)
7577
 * </caption>
7578
 * <tr><th>Type</th> <th>Meaning</th></tr>
7579
 * <tr>
7580
 * <td>none, `c`</td>
7581
 * <td>
7582
 * Copies a character (code point for `char32_t`, code unit otherwise) from the
7583
 * input.
7584
 * </td>
7585
 * </tr>
7586
 * <tr>
7587
 * <td>`b`, `B`, `d`, `i`, `o`, `O`, `u`, `x`, `X`</td>
7588
 * <td>
7589
 * Same as for integers, see above \ref type-int. Not allowed for `char32_t`.
7590
 * </td>
7591
 * </tr>
7592
 * </table>
7593
 *
7594
 * \note When scanning characters (`char` and `wchar_t`), the source range is
7595
 * read a single code unit at a time, and encoding is not respected.
7596
 *
7597
 * \subsection type-float Type specifier: floating-point values
7598
 *
7599
 * Floating-point values are scanned as if by using `std::from_chars`,
7600
 * except a positive `+` sign and a base prefix (like `0x`) are always
7601
 * allowed to be present.
7602
 *
7603
 * <table>
7604
 * <caption id="type-float-table">
7605
 * Floating-point types (`float`, `double`, and `long double`)
7606
 * </caption>
7607
 * <tr><th>Type</th> <th>Meaning</th></tr>
7608
 * <tr>
7609
 * <td>`a`, `A`</td>
7610
 * <td>
7611
 * `std::from_chars` with `std::chars_format::hex`.
7612
 * Prefix `0x`/`0X` is allowed.
7613
 * </td>
7614
 * </tr>
7615
 * <tr>
7616
 * <td>`e`, `E`</td>
7617
 * <td>
7618
 * `std::from_chars` with `std::chars_format::scientific`.
7619
 * </td>
7620
 * </tr>
7621
 * <tr>
7622
 * <td>`f`, `F`</td>
7623
 * <td>
7624
 * `std::from_chars` with `std::chars_format::fixed`.
7625
 * </td>
7626
 * </tr>
7627
 * <tr>
7628
 * <td>`g`, `G`</td>
7629
 * <td>
7630
 * `std::from_chars` with `std::chars_format::general`.
7631
 * </td>
7632
 * </tr>
7633
 * <tr>
7634
 * <td>none</td>
7635
 * <td>
7636
 * `std::from_chars` with `std::chars_format::general | std::chars_format::hex`.
7637
 * Prefix `0x`/`0X` is allowed.
7638
 * </td>
7639
 * </tr>
7640
 * </table>
7641
 *
7642
 * \subsection type-bool Type specifier: booleans
7643
 *
7644
 * <table>
7645
 * <caption id="type-bool-table">
7646
 * `bool`
7647
 * </caption>
7648
 * <tr><th>Type</th> <th>Meaning</th></tr>
7649
 * <tr>
7650
 * <td>`s`</td>
7651
 * <td>
7652
 * Allows for the textual representation (`true` or `false`).
7653
 * </td>
7654
 * </tr>
7655
 * <tr>
7656
 * <td>`b`, `B`, `d`, `i`, `o`, `O`, `u`, `x`, `X`</td>
7657
 * <td>
7658
 * Allows for the integral/numeric representation (`0` or `1`).
7659
 * </td>
7660
 * </tr>
7661
 * <tr>
7662
 * <td>none</td>
7663
 * <td>
7664
 * Allows for both the textual and the integral/numeric representation.
7665
 * </td>
7666
 * </tr>
7667
 * </table>
7668
 */
7669
7670
namespace detail {
7671
/**
7672
 * A runtime format string
7673
 *
7674
 * \ingroup format-string
7675
 */
7676
template <typename CharT>
7677
struct basic_runtime_format_string {
7678
6.94M
    basic_runtime_format_string(std::basic_string_view<CharT> s) : str(s) {}
scn::v3::detail::basic_runtime_format_string<char>::basic_runtime_format_string(std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Line
Count
Source
7678
3.29M
    basic_runtime_format_string(std::basic_string_view<CharT> s) : str(s) {}
scn::v3::detail::basic_runtime_format_string<wchar_t>::basic_runtime_format_string(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
Line
Count
Source
7678
3.64M
    basic_runtime_format_string(std::basic_string_view<CharT> s) : str(s) {}
7679
7680
    basic_runtime_format_string(const basic_runtime_format_string&) = delete;
7681
    basic_runtime_format_string(basic_runtime_format_string&&) = delete;
7682
    basic_runtime_format_string& operator=(const basic_runtime_format_string&) =
7683
        delete;
7684
    basic_runtime_format_string& operator=(basic_runtime_format_string&&) =
7685
        delete;
7686
    ~basic_runtime_format_string() = default;
7687
7688
    std::basic_string_view<CharT> str;
7689
};
7690
}  // namespace detail
7691
7692
/**
7693
 * Create a runtime format string
7694
 *
7695
 * Can be used to avoid compile-time format string checking
7696
 *
7697
 * \ingroup format-string
7698
 */
7699
inline detail::basic_runtime_format_string<char> runtime_format(
7700
    std::string_view s)
7701
3.29M
{
7702
3.29M
    return s;
7703
3.29M
}
7704
inline detail::basic_runtime_format_string<wchar_t> runtime_format(
7705
    std::wstring_view s)
7706
3.64M
{
7707
3.64M
    return s;
7708
3.64M
}
7709
7710
namespace detail {
7711
struct compile_string {};
7712
7713
template <typename Str>
7714
inline constexpr bool is_compile_string_v =
7715
    std::is_base_of_v<compile_string, Str>;
7716
7717
template <typename Scanner, typename = void>
7718
inline constexpr bool scanner_has_format_specs_member_v = false;
7719
template <typename Scanner>
7720
inline constexpr bool scanner_has_format_specs_member_v<
7721
    Scanner,
7722
    std::void_t<decltype(SCN_DECLVAL(Scanner&)._format_specs())>> = true;
7723
7724
template <typename T, typename Source, typename Ctx, typename ParseCtx>
7725
constexpr typename ParseCtx::iterator parse_format_specs(ParseCtx& parse_ctx)
7726
{
7727
    using char_type = typename ParseCtx::char_type;
7728
    using mapped_type = std::conditional_t<
7729
        mapped_type_constant<T, char_type>::value != arg_type::custom_type,
7730
        std::remove_reference_t<decltype(arg_mapper<char_type>().map(
7731
            SCN_DECLVAL(T&)))>,
7732
        T>;
7733
    auto s = typename Ctx::template scanner_type<mapped_type>{};
7734
    auto it = s.parse(parse_ctx)
7735
                  .transform_error([&](scan_error err) constexpr {
7736
                      parse_ctx.on_error(err.msg());
7737
                      return err;
7738
                  })
7739
                  .value_or(parse_ctx.end());
7740
    if constexpr (scanner_has_format_specs_member_v<decltype(s)>) {
7741
        auto& specs = s._format_specs();
7742
        if ((specs.type == presentation_type::regex ||
7743
             specs.type == presentation_type::regex_escaped) &&
7744
            !(ranges::range<Source> && ranges::contiguous_range<Source>)) {
7745
            // clang-format off
7746
            parse_ctx.on_error("Cannot read a regex from a non-contiguous source");
7747
            // clang-format on
7748
        }
7749
    }
7750
    return it;
7751
}
7752
7753
template <typename CharT, typename Source, typename... Args>
7754
class format_string_checker {
7755
public:
7756
    using parse_context_type = compile_parse_context<CharT>;
7757
    static constexpr auto num_args = sizeof...(Args);
7758
7759
    explicit constexpr format_string_checker(
7760
        std::basic_string_view<CharT> format_str)
7761
        : m_parse_context(format_str,
7762
                          num_args,
7763
                          m_types,
7764
                          type_identity<Source>{}),
7765
          m_parse_funcs{&parse_format_specs<Args,
7766
                                            Source,
7767
                                            basic_scan_context<CharT>,
7768
                                            parse_context_type>...},
7769
          m_types{arg_type_constant<Args, CharT>::value...}
7770
    {
7771
    }
7772
7773
    constexpr void on_literal_text(const CharT* begin, const CharT* end) const
7774
    {
7775
        // TODO: Do we want to validate Unicode in format strings?
7776
        // We're dealing with text, so we probably do.
7777
        // We could do codeunit-to-codeunit matching,
7778
        // but that could get messy wrt. whitespace matching.
7779
        // It's simpler to not allow nonsense.
7780
        while (begin != end) {
7781
            const auto len = code_point_length_by_starting_code_unit(*begin);
7782
            if (SCN_UNLIKELY(len == 0 ||
7783
                             static_cast<size_t>(end - begin) < len)) {
7784
                return on_error("Invalid encoding in format string");
7785
            }
7786
7787
            const auto cp = decode_code_point_exhaustive(
7788
                std::basic_string_view<CharT>{begin, len});
7789
            if (SCN_UNLIKELY(cp >= invalid_code_point)) {
7790
                return on_error("Invalid encoding in format string");
7791
            }
7792
7793
            begin += len;
7794
        }
7795
    }
7796
7797
    constexpr auto on_arg_id()
7798
    {
7799
        return m_parse_context.next_arg_id();
7800
    }
7801
    constexpr auto on_arg_id(std::size_t id)
7802
    {
7803
        m_parse_context.check_arg_id(id);
7804
        return id;
7805
    }
7806
7807
    constexpr void on_replacement_field(size_t id, const CharT*)
7808
    {
7809
        m_parse_context.check_arg_can_be_read(id);
7810
        set_arg_as_read(id);
7811
7812
        if (m_types[id] == arg_type::narrow_regex_matches_type ||
7813
            m_types[id] == arg_type::wide_regex_matches_type) {
7814
            // clang-format off
7815
            return on_error("Regular expression needs to be specified when reading regex_matches");
7816
            // clang-format on
7817
        }
7818
    }
7819
7820
    constexpr const CharT* on_format_specs(std::size_t id,
7821
                                           const CharT* begin,
7822
                                           const CharT*)
7823
    {
7824
        m_parse_context.check_arg_can_be_read(id);
7825
        set_arg_as_read(id);
7826
        m_parse_context.advance_to(begin);
7827
        return id < num_args ? m_parse_funcs[id](m_parse_context) : begin;
7828
    }
7829
7830
    constexpr void check_args_exhausted() const
7831
    {
7832
        if (num_args == 0) {
7833
            return;
7834
        }
7835
        for (auto is_set : m_visited_args) {
7836
            if (!is_set) {
7837
                return on_error("Argument list not exhausted");
7838
            }
7839
        }
7840
    }
7841
7842
    void on_error(const char* msg) const
7843
    {
7844
        SCN_UNLIKELY_ATTR
7845
        m_parse_context.on_error(msg);
7846
    }
7847
7848
    // Only to satisfy the concept and eliminate compiler errors,
7849
    // because errors are reported by failing to compile on_error above
7850
    // (it's not constexpr)
7851
    constexpr explicit operator bool() const
7852
    {
7853
        return true;
7854
    }
7855
    constexpr scan_error get_error() const
7856
    {
7857
        return {};
7858
    }
7859
7860
private:
7861
    constexpr void set_arg_as_read(size_t id)
7862
    {
7863
        if (id >= num_args) {
7864
            return on_error("Invalid out-of-range argument ID");
7865
        }
7866
        if (m_visited_args[id]) {
7867
            return on_error("Argument with this ID already scanned");
7868
        }
7869
        m_visited_args[id] = true;
7870
    }
7871
7872
    using parse_func = const CharT* (*)(parse_context_type&);
7873
7874
    parse_context_type m_parse_context;
7875
    parse_func m_parse_funcs[num_args > 0 ? num_args : 1];
7876
    arg_type m_types[num_args > 0 ? num_args : 1];
7877
    bool m_visited_args[num_args > 0 ? num_args : 1] = {false};
7878
};
7879
7880
template <typename Source, typename... Args, typename Str>
7881
constexpr auto check_format_string(const Str&)
7882
    -> std::enable_if_t<!is_compile_string_v<Str>>
7883
{
7884
    // TODO: SCN_ENFORE_COMPILE_STRING?
7885
#if 0  // SCN_ENFORE_COMPILE_STRING
7886
    static_assert(dependent_false<Str>::value,
7887
              "SCN_ENFORCE_COMPILE_STRING requires all format "
7888
              "strings to use SCN_STRING.");
7889
#endif
7890
}
7891
7892
template <typename Source, typename... Args, typename Str>
7893
constexpr auto check_format_string(Str format_str)
7894
    -> std::enable_if_t<is_compile_string_v<Str>>
7895
{
7896
    using char_type = typename Str::char_type;
7897
7898
    SCN_GCC_PUSH
7899
    SCN_GCC_IGNORE("-Wconversion")
7900
    constexpr auto s = std::basic_string_view<char_type>{format_str};
7901
    SCN_GCC_POP
7902
7903
    using checker = format_string_checker<char_type, Source, Args...>;
7904
    constexpr bool invalid_format =
7905
        (parse_format_string<true>(s, checker(s)), true);
7906
    SCN_UNUSED(invalid_format);
7907
}
7908
7909
template <typename CharT, std::size_t N>
7910
constexpr std::basic_string_view<CharT> compile_string_to_view(
7911
    const CharT (&s)[N])
7912
{
7913
    return {s, N - 1};
7914
}
7915
template <typename CharT>
7916
constexpr std::basic_string_view<CharT> compile_string_to_view(
7917
    std::basic_string_view<CharT> s)
7918
{
7919
    return s;
7920
}
7921
}  // namespace detail
7922
7923
#define SCN_STRING_IMPL(s, base, expl)                                       \
7924
    [] {                                                                     \
7925
        struct SCN_COMPILE_STRING : base {                                   \
7926
            using char_type = ::scn::detail::remove_cvref_t<decltype(s[0])>; \
7927
            SCN_MAYBE_UNUSED constexpr expl                                  \
7928
            operator ::std::basic_string_view<char_type>() const             \
7929
            {                                                                \
7930
                return ::scn::detail::compile_string_to_view<char_type>(s);  \
7931
            }                                                                \
7932
        };                                                                   \
7933
        return SCN_COMPILE_STRING{};                                         \
7934
    }()
7935
7936
#define SCN_STRING(s) SCN_STRING_IMPL(s, ::scn::detail::compile_string, )
7937
7938
/**
7939
 * Compile-time format string
7940
 *
7941
 * \ingroup format-string
7942
 */
7943
template <typename CharT, typename Source, typename... Args>
7944
class basic_scan_format_string {
7945
public:
7946
    SCN_CLANG_PUSH
7947
#if SCN_CLANG >= SCN_COMPILER(10, 0, 0)
7948
    SCN_CLANG_IGNORE("-Wc++20-compat")  // false positive about consteval
7949
#endif
7950
    template <
7951
        typename S,
7952
        std::enable_if_t<
7953
            std::is_convertible_v<const S&, std::basic_string_view<CharT>> &&
7954
            detail::is_not_self<S, basic_scan_format_string>>* = nullptr>
7955
    SCN_CONSTEVAL basic_scan_format_string(const S& s) : m_str(s)
7956
    {
7957
#if SCN_HAS_CONSTEVAL
7958
        using checker = detail::format_string_checker<CharT, Source, Args...>;
7959
        const auto e = detail::parse_format_string<true>(m_str, checker(s));
7960
        SCN_UNUSED(e);
7961
#else
7962
        detail::check_format_string<Source, Args...>(s);
7963
#endif
7964
    }
7965
    SCN_CLANG_POP
7966
7967
    template <
7968
        typename OtherSource,
7969
        std::enable_if_t<std::is_same_v<detail::remove_cvref_t<Source>,
7970
                                        detail::remove_cvref_t<OtherSource>> &&
7971
                         ranges::borrowed_range<Source> ==
7972
                             ranges::borrowed_range<OtherSource>>* = nullptr>
7973
    constexpr basic_scan_format_string(
7974
        const basic_scan_format_string<CharT, OtherSource, Args...>& other)
7975
        : m_str(other.get())
7976
    {
7977
    }
7978
7979
    basic_scan_format_string(detail::basic_runtime_format_string<CharT> r)
7980
6.94M
        : m_str(r.str)
7981
6.94M
    {
7982
6.94M
    }
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<char>)
Line
Count
Source
7980
69.0k
        : m_str(r.str)
7981
69.0k
    {
7982
69.0k
    }
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<char>)
Line
Count
Source
7980
60.8k
        : m_str(r.str)
7981
60.8k
    {
7982
60.8k
    }
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, int>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<char>)
Line
Count
Source
7980
80.6k
        : m_str(r.str)
7981
80.6k
    {
7982
80.6k
    }
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<char>)
Line
Count
Source
7980
65.9k
        : m_str(r.str)
7981
65.9k
    {
7982
65.9k
    }
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long long>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<char>)
Line
Count
Source
7980
82.0k
        : m_str(r.str)
7981
82.0k
    {
7982
82.0k
    }
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<char>)
Line
Count
Source
7980
66.6k
        : m_str(r.str)
7981
66.6k
    {
7982
66.6k
    }
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<char>)
Line
Count
Source
7980
69.0k
        : m_str(r.str)
7981
69.0k
    {
7982
69.0k
    }
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<char>)
Line
Count
Source
7980
60.9k
        : m_str(r.str)
7981
60.9k
    {
7982
60.9k
    }
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<char>)
Line
Count
Source
7980
80.3k
        : m_str(r.str)
7981
80.3k
    {
7982
80.3k
    }
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<char>)
Line
Count
Source
7980
65.9k
        : m_str(r.str)
7981
65.9k
    {
7982
65.9k
    }
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<char>)
Line
Count
Source
7980
81.6k
        : m_str(r.str)
7981
81.6k
    {
7982
81.6k
    }
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<char>)
Line
Count
Source
7980
66.6k
        : m_str(r.str)
7981
66.6k
    {
7982
66.6k
    }
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
7980
28.6k
        : m_str(r.str)
7981
28.6k
    {
7982
28.6k
    }
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
7980
28.6k
        : m_str(r.str)
7981
28.6k
    {
7982
28.6k
    }
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
7980
28.7k
        : m_str(r.str)
7981
28.7k
    {
7982
28.7k
    }
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
7980
28.6k
        : m_str(r.str)
7981
28.6k
    {
7982
28.6k
    }
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
7980
28.9k
        : m_str(r.str)
7981
28.9k
    {
7982
28.9k
    }
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
7980
28.7k
        : m_str(r.str)
7981
28.7k
    {
7982
28.7k
    }
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
7980
28.6k
        : m_str(r.str)
7981
28.6k
    {
7982
28.6k
    }
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
7980
28.6k
        : m_str(r.str)
7981
28.6k
    {
7982
28.6k
    }
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
7980
28.7k
        : m_str(r.str)
7981
28.7k
    {
7982
28.7k
    }
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
7980
28.6k
        : m_str(r.str)
7981
28.6k
    {
7982
28.6k
    }
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
7980
28.9k
        : m_str(r.str)
7981
28.9k
    {
7982
28.9k
    }
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
7980
28.7k
        : m_str(r.str)
7981
28.7k
    {
7982
28.7k
    }
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, float>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<char>)
Line
Count
Source
7980
305k
        : m_str(r.str)
7981
305k
    {
7982
305k
    }
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, double>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<char>)
Line
Count
Source
7980
313k
        : m_str(r.str)
7981
313k
    {
7982
313k
    }
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long double>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<char>)
Line
Count
Source
7980
319k
        : m_str(r.str)
7981
319k
    {
7982
319k
    }
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, float>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<char>)
Line
Count
Source
7980
349k
        : m_str(r.str)
7981
349k
    {
7982
349k
    }
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, double>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<char>)
Line
Count
Source
7980
363k
        : m_str(r.str)
7981
363k
    {
7982
363k
    }
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long double>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<char>)
Line
Count
Source
7980
369k
        : m_str(r.str)
7981
369k
    {
7982
369k
    }
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, float>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
7980
158k
        : m_str(r.str)
7981
158k
    {
7982
158k
    }
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
7980
175k
        : m_str(r.str)
7981
175k
    {
7982
175k
    }
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long double>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
7980
178k
        : m_str(r.str)
7981
178k
    {
7982
178k
    }
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, float>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
7980
158k
        : m_str(r.str)
7981
158k
    {
7982
158k
    }
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, double>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
7980
175k
        : m_str(r.str)
7981
175k
    {
7982
175k
    }
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long double>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
7980
178k
        : m_str(r.str)
7981
178k
    {
7982
178k
    }
scn::v3::basic_scan_format_string<char, std::__1::basic_string_view<char, std::__1::char_traits<char> >&, char>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<char>)
Line
Count
Source
7980
11.1k
        : m_str(r.str)
7981
11.1k
    {
7982
11.1k
    }
scn::v3::basic_scan_format_string<char, std::__1::basic_string_view<char, std::__1::char_traits<char> >&, int>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<char>)
Line
Count
Source
7980
11.1k
        : m_str(r.str)
7981
11.1k
    {
7982
11.1k
    }
scn::v3::basic_scan_format_string<char, std::__1::basic_string_view<char, std::__1::char_traits<char> >&, unsigned int>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<char>)
Line
Count
Source
7980
11.1k
        : m_str(r.str)
7981
11.1k
    {
7982
11.1k
    }
scn::v3::basic_scan_format_string<char, std::__1::basic_string_view<char, std::__1::char_traits<char> >&, double>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<char>)
Line
Count
Source
7980
11.1k
        : m_str(r.str)
7981
11.1k
    {
7982
11.1k
    }
scn::v3::basic_scan_format_string<char, std::__1::basic_string_view<char, std::__1::char_traits<char> >&, bool>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<char>)
Line
Count
Source
7980
11.1k
        : m_str(r.str)
7981
11.1k
    {
7982
11.1k
    }
scn::v3::basic_scan_format_string<char, std::__1::basic_string_view<char, std::__1::char_traits<char> >&, void*>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<char>)
Line
Count
Source
7980
11.1k
        : m_str(r.str)
7981
11.1k
    {
7982
11.1k
    }
scn::v3::basic_scan_format_string<char, std::__1::basic_string_view<char, std::__1::char_traits<char> >&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<char>)
Line
Count
Source
7980
11.1k
        : m_str(r.str)
7981
11.1k
    {
7982
11.1k
    }
scn::v3::basic_scan_format_string<char, std::__1::basic_string_view<char, std::__1::char_traits<char> >&, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<char>)
Line
Count
Source
7980
11.1k
        : m_str(r.str)
7981
11.1k
    {
7982
11.1k
    }
scn::v3::basic_scan_format_string<char, std::__1::basic_string_view<char, std::__1::char_traits<char> >&, std::__1::basic_string_view<char, std::__1::char_traits<char> > >::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<char>)
Line
Count
Source
7980
11.1k
        : m_str(r.str)
7981
11.1k
    {
7982
11.1k
    }
scn::v3::basic_scan_format_string<wchar_t, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, wchar_t>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
7980
22.3k
        : m_str(r.str)
7981
22.3k
    {
7982
22.3k
    }
scn::v3::basic_scan_format_string<wchar_t, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, int>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
7980
22.3k
        : m_str(r.str)
7981
22.3k
    {
7982
22.3k
    }
scn::v3::basic_scan_format_string<wchar_t, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, unsigned int>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
7980
22.3k
        : m_str(r.str)
7981
22.3k
    {
7982
22.3k
    }
scn::v3::basic_scan_format_string<wchar_t, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, double>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
7980
22.3k
        : m_str(r.str)
7981
22.3k
    {
7982
22.3k
    }
scn::v3::basic_scan_format_string<wchar_t, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, bool>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
7980
22.3k
        : m_str(r.str)
7981
22.3k
    {
7982
22.3k
    }
scn::v3::basic_scan_format_string<wchar_t, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, void*>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
7980
22.3k
        : m_str(r.str)
7981
22.3k
    {
7982
22.3k
    }
scn::v3::basic_scan_format_string<wchar_t, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
7980
22.3k
        : m_str(r.str)
7981
22.3k
    {
7982
22.3k
    }
scn::v3::basic_scan_format_string<wchar_t, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
7980
22.3k
        : m_str(r.str)
7981
22.3k
    {
7982
22.3k
    }
scn::v3::basic_scan_format_string<wchar_t, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
7980
22.3k
        : m_str(r.str)
7981
22.3k
    {
7982
22.3k
    }
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<char>)
Line
Count
Source
7980
100k
        : m_str(r.str)
7981
100k
    {
7982
100k
    }
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<char>)
Line
Count
Source
7980
100k
        : m_str(r.str)
7981
100k
    {
7982
100k
    }
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<char>)
Line
Count
Source
7980
123k
        : m_str(r.str)
7981
123k
    {
7982
123k
    }
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
7980
691k
        : m_str(r.str)
7981
691k
    {
7982
691k
    }
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
7980
691k
        : m_str(r.str)
7981
691k
    {
7982
691k
    }
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
7980
691k
        : m_str(r.str)
7981
691k
    {
7982
691k
    }
7983
7984
    constexpr operator std::basic_string_view<CharT>() const
7985
6.94M
    {
7986
6.94M
        return m_str;
7987
6.94M
    }
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
7985
69.0k
    {
7986
69.0k
        return m_str;
7987
69.0k
    }
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
7985
60.8k
    {
7986
60.8k
        return m_str;
7987
60.8k
    }
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, int>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
7985
80.6k
    {
7986
80.6k
        return m_str;
7987
80.6k
    }
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
7985
65.9k
    {
7986
65.9k
        return m_str;
7987
65.9k
    }
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long long>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
7985
82.0k
    {
7986
82.0k
        return m_str;
7987
82.0k
    }
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
7985
66.6k
    {
7986
66.6k
        return m_str;
7987
66.6k
    }
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
7985
69.0k
    {
7986
69.0k
        return m_str;
7987
69.0k
    }
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
7985
60.9k
    {
7986
60.9k
        return m_str;
7987
60.9k
    }
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
7985
80.3k
    {
7986
80.3k
        return m_str;
7987
80.3k
    }
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
7985
65.9k
    {
7986
65.9k
        return m_str;
7987
65.9k
    }
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
7985
81.6k
    {
7986
81.6k
        return m_str;
7987
81.6k
    }
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
7985
66.6k
    {
7986
66.6k
        return m_str;
7987
66.6k
    }
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
7985
28.6k
    {
7986
28.6k
        return m_str;
7987
28.6k
    }
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
7985
28.6k
    {
7986
28.6k
        return m_str;
7987
28.6k
    }
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
7985
28.7k
    {
7986
28.7k
        return m_str;
7987
28.7k
    }
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
7985
28.6k
    {
7986
28.6k
        return m_str;
7987
28.6k
    }
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
7985
28.9k
    {
7986
28.9k
        return m_str;
7987
28.9k
    }
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
7985
28.7k
    {
7986
28.7k
        return m_str;
7987
28.7k
    }
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
7985
28.6k
    {
7986
28.6k
        return m_str;
7987
28.6k
    }
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
7985
28.6k
    {
7986
28.6k
        return m_str;
7987
28.6k
    }
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
7985
28.7k
    {
7986
28.7k
        return m_str;
7987
28.7k
    }
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
7985
28.6k
    {
7986
28.6k
        return m_str;
7987
28.6k
    }
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
7985
28.9k
    {
7986
28.9k
        return m_str;
7987
28.9k
    }
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
7985
28.7k
    {
7986
28.7k
        return m_str;
7987
28.7k
    }
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, float>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
7985
305k
    {
7986
305k
        return m_str;
7987
305k
    }
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, double>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
7985
313k
    {
7986
313k
        return m_str;
7987
313k
    }
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long double>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
7985
319k
    {
7986
319k
        return m_str;
7987
319k
    }
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, float>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
7985
349k
    {
7986
349k
        return m_str;
7987
349k
    }
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, double>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
7985
363k
    {
7986
363k
        return m_str;
7987
363k
    }
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long double>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
7985
369k
    {
7986
369k
        return m_str;
7987
369k
    }
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, float>::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
7985
158k
    {
7986
158k
        return m_str;
7987
158k
    }
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
7985
175k
    {
7986
175k
        return m_str;
7987
175k
    }
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long double>::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
7985
178k
    {
7986
178k
        return m_str;
7987
178k
    }
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, float>::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
7985
158k
    {
7986
158k
        return m_str;
7987
158k
    }
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, double>::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
7985
175k
    {
7986
175k
        return m_str;
7987
175k
    }
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long double>::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
7985
178k
    {
7986
178k
        return m_str;
7987
178k
    }
scn::v3::basic_scan_format_string<char, std::__1::basic_string_view<char, std::__1::char_traits<char> >&, char>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
7985
11.1k
    {
7986
11.1k
        return m_str;
7987
11.1k
    }
scn::v3::basic_scan_format_string<char, std::__1::basic_string_view<char, std::__1::char_traits<char> >&, int>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
7985
11.1k
    {
7986
11.1k
        return m_str;
7987
11.1k
    }
scn::v3::basic_scan_format_string<char, std::__1::basic_string_view<char, std::__1::char_traits<char> >&, unsigned int>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
7985
11.1k
    {
7986
11.1k
        return m_str;
7987
11.1k
    }
scn::v3::basic_scan_format_string<char, std::__1::basic_string_view<char, std::__1::char_traits<char> >&, double>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
7985
11.1k
    {
7986
11.1k
        return m_str;
7987
11.1k
    }
scn::v3::basic_scan_format_string<char, std::__1::basic_string_view<char, std::__1::char_traits<char> >&, bool>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
7985
11.1k
    {
7986
11.1k
        return m_str;
7987
11.1k
    }
scn::v3::basic_scan_format_string<char, std::__1::basic_string_view<char, std::__1::char_traits<char> >&, void*>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
7985
11.1k
    {
7986
11.1k
        return m_str;
7987
11.1k
    }
scn::v3::basic_scan_format_string<char, std::__1::basic_string_view<char, std::__1::char_traits<char> >&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
7985
11.1k
    {
7986
11.1k
        return m_str;
7987
11.1k
    }
scn::v3::basic_scan_format_string<char, std::__1::basic_string_view<char, std::__1::char_traits<char> >&, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
7985
11.1k
    {
7986
11.1k
        return m_str;
7987
11.1k
    }
scn::v3::basic_scan_format_string<char, std::__1::basic_string_view<char, std::__1::char_traits<char> >&, std::__1::basic_string_view<char, std::__1::char_traits<char> > >::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
7985
11.1k
    {
7986
11.1k
        return m_str;
7987
11.1k
    }
scn::v3::basic_scan_format_string<wchar_t, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, wchar_t>::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
7985
22.3k
    {
7986
22.3k
        return m_str;
7987
22.3k
    }
scn::v3::basic_scan_format_string<wchar_t, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, int>::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
7985
22.3k
    {
7986
22.3k
        return m_str;
7987
22.3k
    }
scn::v3::basic_scan_format_string<wchar_t, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, unsigned int>::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
7985
22.3k
    {
7986
22.3k
        return m_str;
7987
22.3k
    }
scn::v3::basic_scan_format_string<wchar_t, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, double>::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
7985
22.3k
    {
7986
22.3k
        return m_str;
7987
22.3k
    }
scn::v3::basic_scan_format_string<wchar_t, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, bool>::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
7985
22.3k
    {
7986
22.3k
        return m_str;
7987
22.3k
    }
scn::v3::basic_scan_format_string<wchar_t, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, void*>::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
7985
22.3k
    {
7986
22.3k
        return m_str;
7987
22.3k
    }
scn::v3::basic_scan_format_string<wchar_t, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
7985
22.3k
    {
7986
22.3k
        return m_str;
7987
22.3k
    }
scn::v3::basic_scan_format_string<wchar_t, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
7985
22.3k
    {
7986
22.3k
        return m_str;
7987
22.3k
    }
scn::v3::basic_scan_format_string<wchar_t, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
7985
22.3k
    {
7986
22.3k
        return m_str;
7987
22.3k
    }
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
7985
100k
    {
7986
100k
        return m_str;
7987
100k
    }
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
7985
100k
    {
7986
100k
        return m_str;
7987
100k
    }
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
7985
123k
    {
7986
123k
        return m_str;
7987
123k
    }
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
7985
691k
    {
7986
691k
        return m_str;
7987
691k
    }
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
7985
691k
    {
7986
691k
        return m_str;
7987
691k
    }
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
7985
691k
    {
7986
691k
        return m_str;
7987
691k
    }
7988
    constexpr std::basic_string_view<CharT> get() const
7989
    {
7990
        return m_str;
7991
    }
7992
7993
private:
7994
    std::basic_string_view<CharT> m_str;
7995
};
7996
7997
namespace detail {
7998
class locale_ref {
7999
#if !SCN_DISABLE_LOCALE
8000
public:
8001
9.10M
    constexpr locale_ref() = default;
8002
8003
    template <typename Locale>
8004
    explicit locale_ref(const Locale& loc);
8005
8006
    constexpr explicit operator bool() const noexcept
8007
0
    {
8008
0
        return m_locale != nullptr;
8009
0
    }
8010
8011
    template <typename Locale>
8012
    Locale get() const;
8013
8014
private:
8015
    const void* m_locale{nullptr};
8016
#else
8017
public:
8018
    constexpr locale_ref() = default;
8019
8020
    template <typename T>
8021
    constexpr explicit locale_ref(T&&)
8022
    {
8023
    }
8024
8025
    constexpr explicit operator bool() const noexcept
8026
    {
8027
        return true;
8028
    }
8029
#endif
8030
};
8031
}  // namespace detail
8032
8033
/////////////////////////////////////////////////////////////////
8034
// scan_context
8035
/////////////////////////////////////////////////////////////////
8036
8037
namespace detail {
8038
template <typename I>
8039
using apply_cmp_with_nullptr = decltype(SCN_DECLVAL(const I&) == nullptr);
8040
template <typename I>
8041
inline constexpr bool is_comparable_with_nullptr =
8042
    mp_valid_v<apply_cmp_with_nullptr, I>;
8043
8044
template <typename Args>
8045
class scan_context_base {
8046
public:
8047
    /// Get argument at index `id`
8048
    constexpr auto arg(size_t id) const noexcept
8049
4.78M
    {
8050
4.78M
        return m_args.get(id);
8051
4.78M
    }
scn::v3::detail::scan_context_base<scn::v3::basic_scan_args<scn::v3::basic_scan_context<char> > >::arg(unsigned long) const
Line
Count
Source
8049
2.55M
    {
8050
2.55M
        return m_args.get(id);
8051
2.55M
    }
scn::v3::detail::scan_context_base<scn::v3::basic_scan_args<scn::v3::basic_scan_context<wchar_t> > >::arg(unsigned long) const
Line
Count
Source
8049
2.23M
    {
8050
2.23M
        return m_args.get(id);
8051
2.23M
    }
8052
8053
    constexpr const Args& args() const
8054
10.1k
    {
8055
10.1k
        return m_args;
8056
10.1k
    }
scn::v3::detail::scan_context_base<scn::v3::basic_scan_args<scn::v3::basic_scan_context<char> > >::args() const
Line
Count
Source
8054
5.83k
    {
8055
5.83k
        return m_args;
8056
5.83k
    }
scn::v3::detail::scan_context_base<scn::v3::basic_scan_args<scn::v3::basic_scan_context<wchar_t> > >::args() const
Line
Count
Source
8054
4.36k
    {
8055
4.36k
        return m_args;
8056
4.36k
    }
8057
8058
    SCN_NODISCARD constexpr locale_ref locale() const
8059
4.58M
    {
8060
4.58M
        return m_locale;
8061
4.58M
    }
scn::v3::detail::scan_context_base<scn::v3::basic_scan_args<scn::v3::basic_scan_context<char> > >::locale() const
Line
Count
Source
8059
2.48M
    {
8060
2.48M
        return m_locale;
8061
2.48M
    }
scn::v3::detail::scan_context_base<scn::v3::basic_scan_args<scn::v3::basic_scan_context<wchar_t> > >::locale() const
Line
Count
Source
8059
2.10M
    {
8060
2.10M
        return m_locale;
8061
2.10M
    }
8062
8063
protected:
8064
    scan_context_base(Args args, locale_ref loc)
8065
4.98M
        : m_args(SCN_MOVE(args)), m_locale(SCN_MOVE(loc))
8066
4.98M
    {
8067
4.98M
    }
scn::v3::detail::scan_context_base<scn::v3::basic_scan_args<scn::v3::basic_scan_context<char> > >::scan_context_base(scn::v3::basic_scan_args<scn::v3::basic_scan_context<char> >, scn::v3::detail::locale_ref)
Line
Count
Source
8065
2.58M
        : m_args(SCN_MOVE(args)), m_locale(SCN_MOVE(loc))
8066
2.58M
    {
8067
2.58M
    }
scn::v3::detail::scan_context_base<scn::v3::basic_scan_args<scn::v3::basic_scan_context<wchar_t> > >::scan_context_base(scn::v3::basic_scan_args<scn::v3::basic_scan_context<wchar_t> >, scn::v3::detail::locale_ref)
Line
Count
Source
8065
2.39M
        : m_args(SCN_MOVE(args)), m_locale(SCN_MOVE(loc))
8066
2.39M
    {
8067
2.39M
    }
8068
8069
    Args m_args;
8070
    locale_ref m_locale;
8071
};
8072
}  // namespace detail
8073
8074
/**
8075
 * \defgroup ctx Contexts and scanners
8076
 *
8077
 * \brief Lower-level APIs used for scanning individual values
8078
 *
8079
 * \section user-defined Scanning user-defined types
8080
 *
8081
 * User-defined types can be scanned by specializing the class template
8082
 * `scn::scanner`.
8083
 *
8084
 * \code{.cpp}
8085
 * struct mytype {
8086
 *   int key;
8087
 *   std::string value;
8088
 * };
8089
 *
8090
 * template <>
8091
 * struct scn::scanner<mytype> {
8092
 *   template <typename ParseContext>
8093
 *   constexpr auto parse(ParseCtx& pctx)
8094
 *     -> scan_expected<typename ParseContext::iterator> {
8095
 *     // parse() implementation just returning begin():
8096
 *     // only permits empty format specifiers
8097
 *     return pctx.begin();
8098
 *   }
8099
 *
8100
 *   template <typename Context>
8101
 *   auto scan(mytype& val, Context& ctx)
8102
 *     -> scan_expected<typename Context::iterator> {
8103
 *     return scn::scan<int, std::string>(ctx.range(), "{}: {}")
8104
 *       .transform([&](auto result) {
8105
 *         std::tie(val.key, val.value) = std::move(result->values());
8106
 *         return result.begin();
8107
 *       });
8108
 *   }
8109
 * };
8110
 * \endcode
8111
 *
8112
 * See also
8113
 * \ref g-usertypes
8114
 */
8115
8116
/**
8117
 * Scanning context.
8118
 *
8119
 * \ingroup ctx
8120
 */
8121
template <typename CharT>
8122
class basic_scan_context : public detail::scan_context_base<
8123
                               basic_scan_args<basic_scan_context<CharT>>> {
8124
    using base = detail::scan_context_base<basic_scan_args<basic_scan_context>>;
8125
8126
public:
8127
    /// Character type of the input
8128
    using char_type = CharT;
8129
    using buffer_type = detail::basic_scan_buffer<char_type>;
8130
    using range_type = typename buffer_type::range_type;
8131
    using iterator = ranges::iterator_t<range_type>;
8132
    using sentinel = ranges::sentinel_t<range_type>;
8133
    using parse_context_type = basic_scan_parse_context<char_type>;
8134
8135
    using args_type = basic_scan_args<basic_scan_context>;
8136
    using arg_type = basic_scan_arg<basic_scan_context>;
8137
8138
    /**
8139
     * The scanner type associated with this scanning context.
8140
     */
8141
    template <typename T>
8142
    using scanner_type = scanner<T, char_type>;
8143
8144
    constexpr basic_scan_context(iterator curr,
8145
                                 args_type a,
8146
                                 detail::locale_ref loc = {})
8147
2.20M
        : base(SCN_MOVE(a), loc), m_current(curr)
8148
2.20M
    {
8149
2.20M
    }
scn::v3::basic_scan_context<char>::basic_scan_context(scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::basic_scan_args<scn::v3::basic_scan_context<char> >, scn::v3::detail::locale_ref)
Line
Count
Source
8147
1.28M
        : base(SCN_MOVE(a), loc), m_current(curr)
8148
1.28M
    {
8149
1.28M
    }
scn::v3::basic_scan_context<wchar_t>::basic_scan_context(scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::basic_scan_args<scn::v3::basic_scan_context<wchar_t> >, scn::v3::detail::locale_ref)
Line
Count
Source
8147
921k
        : base(SCN_MOVE(a), loc), m_current(curr)
8148
921k
    {
8149
921k
    }
8150
8151
    basic_scan_context(const basic_scan_context&) = delete;
8152
    basic_scan_context& operator=(const basic_scan_context&) = delete;
8153
8154
    basic_scan_context(basic_scan_context&&) = default;
8155
    basic_scan_context& operator=(basic_scan_context&&) = default;
8156
    ~basic_scan_context() = default;
8157
8158
    /**
8159
     * Returns an iterator pointing to the current position in the source
8160
     * range.
8161
     */
8162
    constexpr iterator begin() const
8163
6.06M
    {
8164
6.06M
        return m_current;
8165
6.06M
    }
scn::v3::basic_scan_context<char>::begin() const
Line
Count
Source
8163
3.66M
    {
8164
3.66M
        return m_current;
8165
3.66M
    }
scn::v3::basic_scan_context<wchar_t>::begin() const
Line
Count
Source
8163
2.39M
    {
8164
2.39M
        return m_current;
8165
2.39M
    }
8166
8167
    /**
8168
     * Returns a sentinel pointing to the end of the source range.
8169
     */
8170
    constexpr sentinel end() const
8171
2.11M
    {
8172
2.11M
        return ranges::default_sentinel;
8173
2.11M
    }
scn::v3::basic_scan_context<char>::end() const
Line
Count
Source
8171
1.25M
    {
8172
1.25M
        return ranges::default_sentinel;
8173
1.25M
    }
scn::v3::basic_scan_context<wchar_t>::end() const
Line
Count
Source
8171
862k
    {
8172
862k
        return ranges::default_sentinel;
8173
862k
    }
8174
8175
    /**
8176
     * Returns a subrange over `[begin(), end())`
8177
     */
8178
    constexpr auto range() const
8179
2.11M
    {
8180
2.11M
        return ranges::subrange{begin(), end()};
8181
2.11M
    }
scn::v3::basic_scan_context<char>::range() const
Line
Count
Source
8179
1.25M
    {
8180
1.25M
        return ranges::subrange{begin(), end()};
8181
1.25M
    }
scn::v3::basic_scan_context<wchar_t>::range() const
Line
Count
Source
8179
862k
    {
8180
862k
        return ranges::subrange{begin(), end()};
8181
862k
    }
8182
8183
    /// Advances the beginning of the source range to `it`
8184
    void advance_to(iterator it)
8185
1.74M
    {
8186
1.74M
        m_current = SCN_MOVE(it);
8187
1.74M
    }
scn::v3::basic_scan_context<char>::advance_to(scn::v3::detail::basic_scan_buffer<char>::forward_iterator)
Line
Count
Source
8185
1.13M
    {
8186
1.13M
        m_current = SCN_MOVE(it);
8187
1.13M
    }
scn::v3::basic_scan_context<wchar_t>::advance_to(scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator)
Line
Count
Source
8185
614k
    {
8186
614k
        m_current = SCN_MOVE(it);
8187
614k
    }
8188
8189
private:
8190
    iterator m_current;
8191
};
8192
8193
namespace detail {
8194
template <typename T, typename ParseCtx>
8195
constexpr scan_expected<typename ParseCtx::iterator>
8196
scanner_parse_for_builtin_type(ParseCtx& pctx, format_specs& specs);
8197
8198
template <typename T, typename Context>
8199
scan_expected<typename Context::iterator>
8200
scanner_scan_for_builtin_type(T& val, Context& ctx, const format_specs& specs);
8201
}  // namespace detail
8202
8203
/////////////////////////////////////////////////////////////////
8204
// scanner
8205
/////////////////////////////////////////////////////////////////
8206
8207
/**
8208
 * `scanner` specialization for all built-in types
8209
 *
8210
 * \ingroup ctx
8211
 */
8212
template <typename T, typename CharT>
8213
struct scanner<T,
8214
               CharT,
8215
               std::enable_if_t<detail::arg_type_constant<T, CharT>::value !=
8216
                                    detail::arg_type::custom_type &&
8217
                                !detail::is_type_disabled<T>>> {
8218
    template <typename ParseCtx>
8219
    constexpr auto parse(ParseCtx& pctx)
8220
        -> scan_expected<typename ParseCtx::iterator>
8221
    {
8222
        return detail::scanner_parse_for_builtin_type<T>(pctx, m_specs);
8223
    }
8224
8225
    template <typename Context>
8226
    scan_expected<typename Context::iterator> scan(T& val, Context& ctx) const
8227
    {
8228
        return detail::scanner_scan_for_builtin_type(val, ctx, m_specs);
8229
    }
8230
8231
    constexpr auto& _format_specs()
8232
    {
8233
        return m_specs;
8234
    }
8235
8236
private:
8237
    detail::format_specs m_specs;
8238
};
8239
8240
namespace detail {
8241
template <typename T, typename ParseCtx>
8242
constexpr scan_expected<typename ParseCtx::iterator>
8243
scanner_parse_for_builtin_type(ParseCtx& pctx, format_specs& specs)
8244
{
8245
    using char_type = typename ParseCtx::char_type;
8246
8247
    auto begin = pctx.begin();
8248
    const auto end = pctx.end();
8249
    if (begin == end) {
8250
        return begin;
8251
    }
8252
8253
    using handler_type = specs_setter;
8254
    const auto type = arg_type_constant<T, char_type>::value;
8255
    auto checker =
8256
        detail::specs_checker<handler_type>(handler_type(specs), type);
8257
8258
    const auto it =
8259
        detail::parse_format_specs(to_address(begin), to_address(end), checker);
8260
    if (auto e = checker.get_error(); SCN_UNLIKELY(!e)) {
8261
        return unexpected(e);
8262
    }
8263
8264
    switch (type) {
8265
        case arg_type::none_type:
8266
            SCN_FALLTHROUGH;
8267
        case arg_type::custom_type:
8268
            SCN_ENSURE(false);
8269
            break;
8270
8271
        case arg_type::bool_type:
8272
            check_bool_type_specs(specs, checker);
8273
            break;
8274
8275
        case arg_type::schar_type:
8276
        case arg_type::short_type:
8277
        case arg_type::int_type:
8278
        case arg_type::long_type:
8279
        case arg_type::llong_type:
8280
        case arg_type::uchar_type:
8281
        case arg_type::ushort_type:
8282
        case arg_type::uint_type:
8283
        case arg_type::ulong_type:
8284
        case arg_type::ullong_type:
8285
            check_int_type_specs(specs, checker);
8286
            break;
8287
8288
        case arg_type::narrow_character_type:
8289
        case arg_type::wide_character_type:
8290
        case arg_type::code_point_type:
8291
            check_char_type_specs(specs, checker);
8292
            break;
8293
8294
        case arg_type::float_type:
8295
        case arg_type::double_type:
8296
        case arg_type::ldouble_type:
8297
            check_float_type_specs(specs, checker);
8298
            break;
8299
8300
        case arg_type::narrow_string_type:
8301
        case arg_type::narrow_string_view_type:
8302
        case arg_type::wide_string_type:
8303
        case arg_type::wide_string_view_type:
8304
            check_string_type_specs(specs, checker);
8305
            break;
8306
8307
        case arg_type::pointer_type:
8308
            check_pointer_type_specs(specs, checker);
8309
            break;
8310
8311
        case arg_type::narrow_regex_matches_type:
8312
        case arg_type::wide_regex_matches_type:
8313
            check_regex_type_specs(specs, checker);
8314
            break;
8315
8316
            SCN_CLANG_PUSH
8317
            SCN_CLANG_IGNORE("-Wcovered-switch-default")
8318
8319
        default:
8320
            SCN_ENSURE(false);
8321
            SCN_UNREACHABLE;
8322
8323
            SCN_CLANG_POP
8324
    }
8325
8326
    if (auto e = checker.get_error(); SCN_UNLIKELY(!e)) {
8327
        return unexpected(e);
8328
    }
8329
8330
    return {it};
8331
}
8332
}  // namespace detail
8333
8334
/**
8335
 * Type for discarding any scanned value.
8336
 * Example:
8337
 *
8338
 * \code{.cpp}
8339
 * auto r = scn::scan<scn::discard<int>>("42", "{}");
8340
 * // r.has_value() == true
8341
 * // decltype(r->value()) is scn::discard<int>
8342
 * \endcode
8343
 *
8344
 * \ingroup format-string
8345
 */
8346
template <typename T>
8347
struct discard {
8348
    constexpr discard() = default;
8349
8350
    constexpr discard(const T&) noexcept {}
8351
    constexpr discard(T&&) noexcept {}
8352
8353
    constexpr discard& operator=(const T&) noexcept
8354
    {
8355
        return *this;
8356
    }
8357
    constexpr discard& operator=(T&&) noexcept
8358
    {
8359
        return *this;
8360
    }
8361
};
8362
8363
template <typename T, typename CharT>
8364
struct scanner<discard<T>, CharT> : public scanner<T, CharT> {
8365
    template <typename Context>
8366
    auto scan(discard<T>&, Context& ctx) const
8367
    {
8368
        T val{};
8369
        return scanner<T, CharT>::scan(val, ctx);
8370
    }
8371
};
8372
8373
namespace detail {
8374
template <typename Range>
8375
scan_expected<ranges::iterator_t<Range>> internal_skip_classic_whitespace(
8376
    Range r,
8377
    bool allow_exhaustion);
8378
8379
#define SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(T, Context) \
8380
    extern template scan_expected<Context::iterator>         \
8381
    scanner_scan_for_builtin_type(T&, Context&, const format_specs&);
8382
8383
#define SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_CTX(Context)                   \
8384
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(char, Context)                \
8385
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(wchar_t, Context)             \
8386
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(signed char, Context)         \
8387
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(signed char, Context)         \
8388
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(short, Context)               \
8389
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(int, Context)                 \
8390
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(long, Context)                \
8391
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(long long, Context)           \
8392
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(unsigned char, Context)       \
8393
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(unsigned short, Context)      \
8394
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(unsigned int, Context)        \
8395
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(unsigned long, Context)       \
8396
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(unsigned long long, Context)  \
8397
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(float, Context)               \
8398
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(double, Context)              \
8399
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(long double, Context)         \
8400
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(std::string, Context)         \
8401
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(std::wstring, Context)        \
8402
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(                              \
8403
        std::basic_string_view<Context::char_type>, Context)               \
8404
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(regex_matches, Context)       \
8405
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(wregex_matches, Context)      \
8406
    extern template scan_expected<ranges::iterator_t<Context::range_type>> \
8407
    internal_skip_classic_whitespace(Context::range_type, bool);
8408
8409
SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_CTX(scan_context)
8410
8411
}  // namespace detail
8412
8413
/////////////////////////////////////////////////////////////////
8414
// visit_scan_arg
8415
/////////////////////////////////////////////////////////////////
8416
8417
/**
8418
 * Visit a `basic_scan_arg` with `Visitor`.
8419
 * Calls `vis` with the value stored in `arg`.
8420
 * If no value is contained in `arg`, calls `vis` with a `monostate`.
8421
 *
8422
 * \return `vis(x)`, where `x` is either a reference to the value contained
8423
 * in `arg`, or a `basic_scan_arg::handle`.
8424
 */
8425
template <typename Visitor, typename Ctx>
8426
constexpr decltype(auto) visit_scan_arg(Visitor&& vis, basic_scan_arg<Ctx>& arg)
8427
7.51M
{
8428
7.51M
#define SCN_VISIT(Type)                                         \
8429
60.4M
    if constexpr (!detail::is_type_disabled<Type>) {            \
8430
60.4M
        return vis(*static_cast<Type*>(arg.m_value.ref_value)); \
8431
60.4M
    }                                                           \
8432
60.4M
    else {                                                      \
8433
60.4M
        return vis(monostate_val);                              \
8434
60.4M
    }
8435
8436
7.51M
    monostate monostate_val{};
8437
8438
7.51M
    switch (arg.m_type) {
8439
183k
        case detail::arg_type::schar_type:
8440
183k
            SCN_VISIT(signed char);
8441
183k
        case detail::arg_type::short_type:
8442
183k
            SCN_VISIT(short);
8443
402k
        case detail::arg_type::int_type:
8444
402k
            SCN_VISIT(int);
8445
402k
        case detail::arg_type::long_type:
8446
402k
            SCN_VISIT(long);
8447
613k
        case detail::arg_type::llong_type:
8448
613k
            SCN_VISIT(long long);
8449
779k
        case detail::arg_type::uchar_type:
8450
779k
            SCN_VISIT(unsigned char);
8451
779k
        case detail::arg_type::ushort_type:
8452
779k
            SCN_VISIT(unsigned short);
8453
966k
        case detail::arg_type::uint_type:
8454
966k
            SCN_VISIT(unsigned);
8455
966k
        case detail::arg_type::ulong_type:
8456
966k
            SCN_VISIT(unsigned long);
8457
1.14M
        case detail::arg_type::ullong_type:
8458
1.14M
            SCN_VISIT(unsigned long long);
8459
1.15M
        case detail::arg_type::pointer_type:
8460
1.15M
            SCN_VISIT(void*);
8461
1.16M
        case detail::arg_type::bool_type:
8462
1.16M
            SCN_VISIT(bool);
8463
1.17M
        case detail::arg_type::narrow_character_type:
8464
1.17M
            SCN_VISIT(char);
8465
1.17M
        case detail::arg_type::wide_character_type:
8466
1.17M
            SCN_VISIT(wchar_t);
8467
1.17M
        case detail::arg_type::code_point_type:
8468
1.17M
            SCN_VISIT(char32_t);
8469
2.24M
        case detail::arg_type::float_type:
8470
2.24M
            SCN_VISIT(float);
8471
3.39M
        case detail::arg_type::double_type:
8472
3.39M
            SCN_VISIT(double);
8473
4.54M
        case detail::arg_type::ldouble_type:
8474
4.54M
            SCN_VISIT(long double);
8475
4.67M
        case detail::arg_type::narrow_string_view_type:
8476
4.67M
            SCN_VISIT(std::string_view);
8477
4.94M
        case detail::arg_type::narrow_string_type:
8478
4.94M
            SCN_VISIT(std::string);
8479
5.80M
        case detail::arg_type::wide_string_view_type:
8480
5.80M
            SCN_VISIT(std::wstring_view);
8481
7.51M
        case detail::arg_type::wide_string_type:
8482
7.51M
            SCN_VISIT(std::wstring);
8483
7.51M
        case detail::arg_type::narrow_regex_matches_type:
8484
7.51M
            SCN_VISIT(regex_matches);
8485
7.51M
        case detail::arg_type::wide_regex_matches_type:
8486
7.51M
            SCN_VISIT(wregex_matches);
8487
8488
7.51M
        case detail::arg_type::custom_type:
8489
7.51M
#if !SCN_DISABLE_TYPE_CUSTOM
8490
7.51M
            return vis(
8491
7.51M
                typename Ctx::arg_type::handle(arg.m_value.custom_value));
8492
#else
8493
            return vis(monostate_val);
8494
#endif
8495
8496
0
            SCN_CLANG_PUSH
8497
0
            SCN_CLANG_IGNORE("-Wcovered-switch-default")
8498
8499
0
            SCN_UNLIKELY_ATTR
8500
0
        case detail::arg_type::none_type:
8501
0
        default: {
8502
0
            return vis(monostate_val);
8503
0
        }
8504
8505
7.51M
            SCN_CLANG_POP
8506
7.51M
    }
8507
8508
0
#undef SCN_VISIT
8509
8510
0
    SCN_ENSURE(false);
8511
0
    SCN_UNREACHABLE;
8512
0
}
decltype(auto) scn::v3::visit_scan_arg<scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >, scn::v3::basic_scan_context<char> >(scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >&&, scn::v3::basic_scan_arg<scn::v3::basic_scan_context<char> >&)
Line
Count
Source
8427
549k
{
8428
549k
#define SCN_VISIT(Type)                                         \
8429
549k
    if constexpr (!detail::is_type_disabled<Type>) {            \
8430
549k
        return vis(*static_cast<Type*>(arg.m_value.ref_value)); \
8431
549k
    }                                                           \
8432
549k
    else {                                                      \
8433
549k
        return vis(monostate_val);                              \
8434
549k
    }
8435
8436
549k
    monostate monostate_val{};
8437
8438
549k
    switch (arg.m_type) {
8439
16.1k
        case detail::arg_type::schar_type:
8440
16.1k
            SCN_VISIT(signed char);
8441
16.1k
        case detail::arg_type::short_type:
8442
16.1k
            SCN_VISIT(short);
8443
35.4k
        case detail::arg_type::int_type:
8444
35.4k
            SCN_VISIT(int);
8445
35.4k
        case detail::arg_type::long_type:
8446
35.4k
            SCN_VISIT(long);
8447
54.3k
        case detail::arg_type::llong_type:
8448
54.3k
            SCN_VISIT(long long);
8449
67.8k
        case detail::arg_type::uchar_type:
8450
67.8k
            SCN_VISIT(unsigned char);
8451
67.8k
        case detail::arg_type::ushort_type:
8452
67.8k
            SCN_VISIT(unsigned short);
8453
83.3k
        case detail::arg_type::uint_type:
8454
83.3k
            SCN_VISIT(unsigned);
8455
83.3k
        case detail::arg_type::ulong_type:
8456
83.3k
            SCN_VISIT(unsigned long);
8457
98.3k
        case detail::arg_type::ullong_type:
8458
98.3k
            SCN_VISIT(unsigned long long);
8459
98.9k
        case detail::arg_type::pointer_type:
8460
98.9k
            SCN_VISIT(void*);
8461
99.5k
        case detail::arg_type::bool_type:
8462
99.5k
            SCN_VISIT(bool);
8463
100k
        case detail::arg_type::narrow_character_type:
8464
100k
            SCN_VISIT(char);
8465
100k
        case detail::arg_type::wide_character_type:
8466
100k
            SCN_VISIT(wchar_t);
8467
100k
        case detail::arg_type::code_point_type:
8468
100k
            SCN_VISIT(char32_t);
8469
199k
        case detail::arg_type::float_type:
8470
199k
            SCN_VISIT(float);
8471
303k
        case detail::arg_type::double_type:
8472
303k
            SCN_VISIT(double);
8473
409k
        case detail::arg_type::ldouble_type:
8474
409k
            SCN_VISIT(long double);
8475
479k
        case detail::arg_type::narrow_string_view_type:
8476
479k
            SCN_VISIT(std::string_view);
8477
548k
        case detail::arg_type::narrow_string_type:
8478
548k
            SCN_VISIT(std::string);
8479
548k
        case detail::arg_type::wide_string_view_type:
8480
548k
            SCN_VISIT(std::wstring_view);
8481
549k
        case detail::arg_type::wide_string_type:
8482
549k
            SCN_VISIT(std::wstring);
8483
549k
        case detail::arg_type::narrow_regex_matches_type:
8484
549k
            SCN_VISIT(regex_matches);
8485
549k
        case detail::arg_type::wide_regex_matches_type:
8486
549k
            SCN_VISIT(wregex_matches);
8487
8488
549k
        case detail::arg_type::custom_type:
8489
549k
#if !SCN_DISABLE_TYPE_CUSTOM
8490
549k
            return vis(
8491
549k
                typename Ctx::arg_type::handle(arg.m_value.custom_value));
8492
#else
8493
            return vis(monostate_val);
8494
#endif
8495
8496
0
            SCN_CLANG_PUSH
8497
0
            SCN_CLANG_IGNORE("-Wcovered-switch-default")
8498
8499
0
            SCN_UNLIKELY_ATTR
8500
0
        case detail::arg_type::none_type:
8501
0
        default: {
8502
0
            return vis(monostate_val);
8503
0
        }
8504
8505
549k
            SCN_CLANG_POP
8506
549k
    }
8507
8508
0
#undef SCN_VISIT
8509
8510
0
    SCN_ENSURE(false);
8511
0
    SCN_UNREACHABLE;
8512
0
}
decltype(auto) scn::v3::visit_scan_arg<scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<char> >, scn::v3::basic_scan_context<char> >(scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<char> >&&, scn::v3::basic_scan_arg<scn::v3::basic_scan_context<char> >&)
Line
Count
Source
8427
518k
{
8428
518k
#define SCN_VISIT(Type)                                         \
8429
518k
    if constexpr (!detail::is_type_disabled<Type>) {            \
8430
518k
        return vis(*static_cast<Type*>(arg.m_value.ref_value)); \
8431
518k
    }                                                           \
8432
518k
    else {                                                      \
8433
518k
        return vis(monostate_val);                              \
8434
518k
    }
8435
8436
518k
    monostate monostate_val{};
8437
8438
518k
    switch (arg.m_type) {
8439
16.1k
        case detail::arg_type::schar_type:
8440
16.1k
            SCN_VISIT(signed char);
8441
16.1k
        case detail::arg_type::short_type:
8442
16.1k
            SCN_VISIT(short);
8443
34.1k
        case detail::arg_type::int_type:
8444
34.1k
            SCN_VISIT(int);
8445
34.1k
        case detail::arg_type::long_type:
8446
34.1k
            SCN_VISIT(long);
8447
52.5k
        case detail::arg_type::llong_type:
8448
52.5k
            SCN_VISIT(long long);
8449
65.9k
        case detail::arg_type::uchar_type:
8450
65.9k
            SCN_VISIT(unsigned char);
8451
65.9k
        case detail::arg_type::ushort_type:
8452
65.9k
            SCN_VISIT(unsigned short);
8453
80.7k
        case detail::arg_type::uint_type:
8454
80.7k
            SCN_VISIT(unsigned);
8455
80.7k
        case detail::arg_type::ulong_type:
8456
80.7k
            SCN_VISIT(unsigned long);
8457
95.6k
        case detail::arg_type::ullong_type:
8458
95.6k
            SCN_VISIT(unsigned long long);
8459
95.6k
        case detail::arg_type::pointer_type:
8460
95.6k
            SCN_VISIT(void*);
8461
95.6k
        case detail::arg_type::bool_type:
8462
95.6k
            SCN_VISIT(bool);
8463
95.6k
        case detail::arg_type::narrow_character_type:
8464
95.6k
            SCN_VISIT(char);
8465
95.6k
        case detail::arg_type::wide_character_type:
8466
95.6k
            SCN_VISIT(wchar_t);
8467
95.6k
        case detail::arg_type::code_point_type:
8468
95.6k
            SCN_VISIT(char32_t);
8469
204k
        case detail::arg_type::float_type:
8470
204k
            SCN_VISIT(float);
8471
317k
        case detail::arg_type::double_type:
8472
317k
            SCN_VISIT(double);
8473
433k
        case detail::arg_type::ldouble_type:
8474
433k
            SCN_VISIT(long double);
8475
433k
        case detail::arg_type::narrow_string_view_type:
8476
433k
            SCN_VISIT(std::string_view);
8477
518k
        case detail::arg_type::narrow_string_type:
8478
518k
            SCN_VISIT(std::string);
8479
518k
        case detail::arg_type::wide_string_view_type:
8480
518k
            SCN_VISIT(std::wstring_view);
8481
518k
        case detail::arg_type::wide_string_type:
8482
518k
            SCN_VISIT(std::wstring);
8483
518k
        case detail::arg_type::narrow_regex_matches_type:
8484
518k
            SCN_VISIT(regex_matches);
8485
518k
        case detail::arg_type::wide_regex_matches_type:
8486
518k
            SCN_VISIT(wregex_matches);
8487
8488
518k
        case detail::arg_type::custom_type:
8489
518k
#if !SCN_DISABLE_TYPE_CUSTOM
8490
518k
            return vis(
8491
518k
                typename Ctx::arg_type::handle(arg.m_value.custom_value));
8492
#else
8493
            return vis(monostate_val);
8494
#endif
8495
8496
0
            SCN_CLANG_PUSH
8497
0
            SCN_CLANG_IGNORE("-Wcovered-switch-default")
8498
8499
0
            SCN_UNLIKELY_ATTR
8500
0
        case detail::arg_type::none_type:
8501
0
        default: {
8502
0
            return vis(monostate_val);
8503
0
        }
8504
8505
518k
            SCN_CLANG_POP
8506
518k
    }
8507
8508
0
#undef SCN_VISIT
8509
8510
0
    SCN_ENSURE(false);
8511
0
    SCN_UNREACHABLE;
8512
0
}
Unexecuted instantiation: decltype(auto) scn::v3::visit_scan_arg<scn::v3::impl::custom_reader<scn::v3::basic_scan_context<char> >, scn::v3::basic_scan_context<char> >(scn::v3::impl::custom_reader<scn::v3::basic_scan_context<char> >&&, scn::v3::basic_scan_arg<scn::v3::basic_scan_context<char> >&)
decltype(auto) scn::v3::visit_scan_arg<scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >, scn::v3::basic_scan_context<char> >(scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >&&, scn::v3::basic_scan_arg<scn::v3::basic_scan_context<char> >&)
Line
Count
Source
8427
1.22M
{
8428
1.22M
#define SCN_VISIT(Type)                                         \
8429
1.22M
    if constexpr (!detail::is_type_disabled<Type>) {            \
8430
1.22M
        return vis(*static_cast<Type*>(arg.m_value.ref_value)); \
8431
1.22M
    }                                                           \
8432
1.22M
    else {                                                      \
8433
1.22M
        return vis(monostate_val);                              \
8434
1.22M
    }
8435
8436
1.22M
    monostate monostate_val{};
8437
8438
1.22M
    switch (arg.m_type) {
8439
54.0k
        case detail::arg_type::schar_type:
8440
54.0k
            SCN_VISIT(signed char);
8441
54.0k
        case detail::arg_type::short_type:
8442
54.0k
            SCN_VISIT(short);
8443
124k
        case detail::arg_type::int_type:
8444
124k
            SCN_VISIT(int);
8445
124k
        case detail::arg_type::long_type:
8446
124k
            SCN_VISIT(long);
8447
189k
        case detail::arg_type::llong_type:
8448
189k
            SCN_VISIT(long long);
8449
236k
        case detail::arg_type::uchar_type:
8450
236k
            SCN_VISIT(unsigned char);
8451
236k
        case detail::arg_type::ushort_type:
8452
236k
            SCN_VISIT(unsigned short);
8453
294k
        case detail::arg_type::uint_type:
8454
294k
            SCN_VISIT(unsigned);
8455
294k
        case detail::arg_type::ulong_type:
8456
294k
            SCN_VISIT(unsigned long);
8457
347k
        case detail::arg_type::ullong_type:
8458
347k
            SCN_VISIT(unsigned long long);
8459
353k
        case detail::arg_type::pointer_type:
8460
353k
            SCN_VISIT(void*);
8461
359k
        case detail::arg_type::bool_type:
8462
359k
            SCN_VISIT(bool);
8463
365k
        case detail::arg_type::narrow_character_type:
8464
365k
            SCN_VISIT(char);
8465
365k
        case detail::arg_type::wide_character_type:
8466
365k
            SCN_VISIT(wchar_t);
8467
365k
        case detail::arg_type::code_point_type:
8468
365k
            SCN_VISIT(char32_t);
8469
604k
        case detail::arg_type::float_type:
8470
604k
            SCN_VISIT(float);
8471
855k
        case detail::arg_type::double_type:
8472
855k
            SCN_VISIT(double);
8473
1.10M
        case detail::arg_type::ldouble_type:
8474
1.10M
            SCN_VISIT(long double);
8475
1.16M
        case detail::arg_type::narrow_string_view_type:
8476
1.16M
            SCN_VISIT(std::string_view);
8477
1.21M
        case detail::arg_type::narrow_string_type:
8478
1.21M
            SCN_VISIT(std::string);
8479
1.21M
        case detail::arg_type::wide_string_view_type:
8480
1.21M
            SCN_VISIT(std::wstring_view);
8481
1.22M
        case detail::arg_type::wide_string_type:
8482
1.22M
            SCN_VISIT(std::wstring);
8483
1.22M
        case detail::arg_type::narrow_regex_matches_type:
8484
1.22M
            SCN_VISIT(regex_matches);
8485
1.22M
        case detail::arg_type::wide_regex_matches_type:
8486
1.22M
            SCN_VISIT(wregex_matches);
8487
8488
1.22M
        case detail::arg_type::custom_type:
8489
1.22M
#if !SCN_DISABLE_TYPE_CUSTOM
8490
1.22M
            return vis(
8491
1.22M
                typename Ctx::arg_type::handle(arg.m_value.custom_value));
8492
#else
8493
            return vis(monostate_val);
8494
#endif
8495
8496
0
            SCN_CLANG_PUSH
8497
0
            SCN_CLANG_IGNORE("-Wcovered-switch-default")
8498
8499
0
            SCN_UNLIKELY_ATTR
8500
0
        case detail::arg_type::none_type:
8501
0
        default: {
8502
0
            return vis(monostate_val);
8503
0
        }
8504
8505
1.22M
            SCN_CLANG_POP
8506
1.22M
    }
8507
8508
0
#undef SCN_VISIT
8509
8510
0
    SCN_ENSURE(false);
8511
0
    SCN_UNREACHABLE;
8512
0
}
decltype(auto) scn::v3::visit_scan_arg<scn::v3::impl::arg_reader<scn::v3::basic_scan_context<char> >, scn::v3::basic_scan_context<char> >(scn::v3::impl::arg_reader<scn::v3::basic_scan_context<char> >&&, scn::v3::basic_scan_arg<scn::v3::basic_scan_context<char> >&)
Line
Count
Source
8427
1.25M
{
8428
1.25M
#define SCN_VISIT(Type)                                         \
8429
1.25M
    if constexpr (!detail::is_type_disabled<Type>) {            \
8430
1.25M
        return vis(*static_cast<Type*>(arg.m_value.ref_value)); \
8431
1.25M
    }                                                           \
8432
1.25M
    else {                                                      \
8433
1.25M
        return vis(monostate_val);                              \
8434
1.25M
    }
8435
8436
1.25M
    monostate monostate_val{};
8437
8438
1.25M
    switch (arg.m_type) {
8439
54.0k
        case detail::arg_type::schar_type:
8440
54.0k
            SCN_VISIT(signed char);
8441
54.0k
        case detail::arg_type::short_type:
8442
54.0k
            SCN_VISIT(short);
8443
118k
        case detail::arg_type::int_type:
8444
118k
            SCN_VISIT(int);
8445
118k
        case detail::arg_type::long_type:
8446
118k
            SCN_VISIT(long);
8447
183k
        case detail::arg_type::llong_type:
8448
183k
            SCN_VISIT(long long);
8449
231k
        case detail::arg_type::uchar_type:
8450
231k
            SCN_VISIT(unsigned char);
8451
231k
        case detail::arg_type::ushort_type:
8452
231k
            SCN_VISIT(unsigned short);
8453
283k
        case detail::arg_type::uint_type:
8454
283k
            SCN_VISIT(unsigned);
8455
283k
        case detail::arg_type::ulong_type:
8456
283k
            SCN_VISIT(unsigned long);
8457
335k
        case detail::arg_type::ullong_type:
8458
335k
            SCN_VISIT(unsigned long long);
8459
335k
        case detail::arg_type::pointer_type:
8460
335k
            SCN_VISIT(void*);
8461
335k
        case detail::arg_type::bool_type:
8462
335k
            SCN_VISIT(bool);
8463
335k
        case detail::arg_type::narrow_character_type:
8464
335k
            SCN_VISIT(char);
8465
335k
        case detail::arg_type::wide_character_type:
8466
335k
            SCN_VISIT(wchar_t);
8467
335k
        case detail::arg_type::code_point_type:
8468
335k
            SCN_VISIT(char32_t);
8469
612k
        case detail::arg_type::float_type:
8470
612k
            SCN_VISIT(float);
8471
900k
        case detail::arg_type::double_type:
8472
900k
            SCN_VISIT(double);
8473
1.19M
        case detail::arg_type::ldouble_type:
8474
1.19M
            SCN_VISIT(long double);
8475
1.19M
        case detail::arg_type::narrow_string_view_type:
8476
1.19M
            SCN_VISIT(std::string_view);
8477
1.25M
        case detail::arg_type::narrow_string_type:
8478
1.25M
            SCN_VISIT(std::string);
8479
1.25M
        case detail::arg_type::wide_string_view_type:
8480
1.25M
            SCN_VISIT(std::wstring_view);
8481
1.25M
        case detail::arg_type::wide_string_type:
8482
1.25M
            SCN_VISIT(std::wstring);
8483
1.25M
        case detail::arg_type::narrow_regex_matches_type:
8484
1.25M
            SCN_VISIT(regex_matches);
8485
1.25M
        case detail::arg_type::wide_regex_matches_type:
8486
1.25M
            SCN_VISIT(wregex_matches);
8487
8488
1.25M
        case detail::arg_type::custom_type:
8489
1.25M
#if !SCN_DISABLE_TYPE_CUSTOM
8490
1.25M
            return vis(
8491
1.25M
                typename Ctx::arg_type::handle(arg.m_value.custom_value));
8492
#else
8493
            return vis(monostate_val);
8494
#endif
8495
8496
0
            SCN_CLANG_PUSH
8497
0
            SCN_CLANG_IGNORE("-Wcovered-switch-default")
8498
8499
0
            SCN_UNLIKELY_ATTR
8500
0
        case detail::arg_type::none_type:
8501
0
        default: {
8502
0
            return vis(monostate_val);
8503
0
        }
8504
8505
1.25M
            SCN_CLANG_POP
8506
1.25M
    }
8507
8508
0
#undef SCN_VISIT
8509
8510
0
    SCN_ENSURE(false);
8511
0
    SCN_UNREACHABLE;
8512
0
}
decltype(auto) scn::v3::visit_scan_arg<scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >, scn::v3::basic_scan_context<wchar_t> >(scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >&&, scn::v3::basic_scan_arg<scn::v3::basic_scan_context<wchar_t> >&)
Line
Count
Source
8427
1.19M
{
8428
1.19M
#define SCN_VISIT(Type)                                         \
8429
1.19M
    if constexpr (!detail::is_type_disabled<Type>) {            \
8430
1.19M
        return vis(*static_cast<Type*>(arg.m_value.ref_value)); \
8431
1.19M
    }                                                           \
8432
1.19M
    else {                                                      \
8433
1.19M
        return vis(monostate_val);                              \
8434
1.19M
    }
8435
8436
1.19M
    monostate monostate_val{};
8437
8438
1.19M
    switch (arg.m_type) {
8439
4.34k
        case detail::arg_type::schar_type:
8440
4.34k
            SCN_VISIT(signed char);
8441
4.34k
        case detail::arg_type::short_type:
8442
4.34k
            SCN_VISIT(short);
8443
9.19k
        case detail::arg_type::int_type:
8444
9.19k
            SCN_VISIT(int);
8445
9.19k
        case detail::arg_type::long_type:
8446
9.19k
            SCN_VISIT(long);
8447
13.5k
        case detail::arg_type::llong_type:
8448
13.5k
            SCN_VISIT(long long);
8449
17.9k
        case detail::arg_type::uchar_type:
8450
17.9k
            SCN_VISIT(unsigned char);
8451
17.9k
        case detail::arg_type::ushort_type:
8452
17.9k
            SCN_VISIT(unsigned short);
8453
22.7k
        case detail::arg_type::uint_type:
8454
22.7k
            SCN_VISIT(unsigned);
8455
22.7k
        case detail::arg_type::ulong_type:
8456
22.7k
            SCN_VISIT(unsigned long);
8457
27.1k
        case detail::arg_type::ullong_type:
8458
27.1k
            SCN_VISIT(unsigned long long);
8459
27.5k
        case detail::arg_type::pointer_type:
8460
27.5k
            SCN_VISIT(void*);
8461
28.0k
        case detail::arg_type::bool_type:
8462
28.0k
            SCN_VISIT(bool);
8463
28.0k
        case detail::arg_type::narrow_character_type:
8464
28.0k
            SCN_VISIT(char);
8465
28.5k
        case detail::arg_type::wide_character_type:
8466
28.5k
            SCN_VISIT(wchar_t);
8467
28.5k
        case detail::arg_type::code_point_type:
8468
28.5k
            SCN_VISIT(char32_t);
8469
72.0k
        case detail::arg_type::float_type:
8470
72.0k
            SCN_VISIT(float);
8471
124k
        case detail::arg_type::double_type:
8472
124k
            SCN_VISIT(double);
8473
178k
        case detail::arg_type::ldouble_type:
8474
178k
            SCN_VISIT(long double);
8475
178k
        case detail::arg_type::narrow_string_view_type:
8476
178k
            SCN_VISIT(std::string_view);
8477
178k
        case detail::arg_type::narrow_string_type:
8478
178k
            SCN_VISIT(std::string);
8479
685k
        case detail::arg_type::wide_string_view_type:
8480
685k
            SCN_VISIT(std::wstring_view);
8481
1.19M
        case detail::arg_type::wide_string_type:
8482
1.19M
            SCN_VISIT(std::wstring);
8483
1.19M
        case detail::arg_type::narrow_regex_matches_type:
8484
1.19M
            SCN_VISIT(regex_matches);
8485
1.19M
        case detail::arg_type::wide_regex_matches_type:
8486
1.19M
            SCN_VISIT(wregex_matches);
8487
8488
1.19M
        case detail::arg_type::custom_type:
8489
1.19M
#if !SCN_DISABLE_TYPE_CUSTOM
8490
1.19M
            return vis(
8491
1.19M
                typename Ctx::arg_type::handle(arg.m_value.custom_value));
8492
#else
8493
            return vis(monostate_val);
8494
#endif
8495
8496
0
            SCN_CLANG_PUSH
8497
0
            SCN_CLANG_IGNORE("-Wcovered-switch-default")
8498
8499
0
            SCN_UNLIKELY_ATTR
8500
0
        case detail::arg_type::none_type:
8501
0
        default: {
8502
0
            return vis(monostate_val);
8503
0
        }
8504
8505
1.19M
            SCN_CLANG_POP
8506
1.19M
    }
8507
8508
0
#undef SCN_VISIT
8509
8510
0
    SCN_ENSURE(false);
8511
0
    SCN_UNREACHABLE;
8512
0
}
Unexecuted instantiation: decltype(auto) scn::v3::visit_scan_arg<scn::v3::impl::custom_reader<scn::v3::basic_scan_context<wchar_t> >, scn::v3::basic_scan_context<wchar_t> >(scn::v3::impl::custom_reader<scn::v3::basic_scan_context<wchar_t> >&&, scn::v3::basic_scan_arg<scn::v3::basic_scan_context<wchar_t> >&)
decltype(auto) scn::v3::visit_scan_arg<scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >, scn::v3::basic_scan_context<wchar_t> >(scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >&&, scn::v3::basic_scan_arg<scn::v3::basic_scan_context<wchar_t> >&)
Line
Count
Source
8427
1.23M
{
8428
1.23M
#define SCN_VISIT(Type)                                         \
8429
1.23M
    if constexpr (!detail::is_type_disabled<Type>) {            \
8430
1.23M
        return vis(*static_cast<Type*>(arg.m_value.ref_value)); \
8431
1.23M
    }                                                           \
8432
1.23M
    else {                                                      \
8433
1.23M
        return vis(monostate_val);                              \
8434
1.23M
    }
8435
8436
1.23M
    monostate monostate_val{};
8437
8438
1.23M
    switch (arg.m_type) {
8439
17.3k
        case detail::arg_type::schar_type:
8440
17.3k
            SCN_VISIT(signed char);
8441
17.3k
        case detail::arg_type::short_type:
8442
17.3k
            SCN_VISIT(short);
8443
37.8k
        case detail::arg_type::int_type:
8444
37.8k
            SCN_VISIT(int);
8445
37.8k
        case detail::arg_type::long_type:
8446
37.8k
            SCN_VISIT(long);
8447
55.3k
        case detail::arg_type::llong_type:
8448
55.3k
            SCN_VISIT(long long);
8449
72.6k
        case detail::arg_type::uchar_type:
8450
72.6k
            SCN_VISIT(unsigned char);
8451
72.6k
        case detail::arg_type::ushort_type:
8452
72.6k
            SCN_VISIT(unsigned short);
8453
93.0k
        case detail::arg_type::uint_type:
8454
93.0k
            SCN_VISIT(unsigned);
8455
93.0k
        case detail::arg_type::ulong_type:
8456
93.0k
            SCN_VISIT(unsigned long);
8457
110k
        case detail::arg_type::ullong_type:
8458
110k
            SCN_VISIT(unsigned long long);
8459
113k
        case detail::arg_type::pointer_type:
8460
113k
            SCN_VISIT(void*);
8461
116k
        case detail::arg_type::bool_type:
8462
116k
            SCN_VISIT(bool);
8463
116k
        case detail::arg_type::narrow_character_type:
8464
116k
            SCN_VISIT(char);
8465
119k
        case detail::arg_type::wide_character_type:
8466
119k
            SCN_VISIT(wchar_t);
8467
119k
        case detail::arg_type::code_point_type:
8468
119k
            SCN_VISIT(char32_t);
8469
249k
        case detail::arg_type::float_type:
8470
249k
            SCN_VISIT(float);
8471
392k
        case detail::arg_type::double_type:
8472
392k
            SCN_VISIT(double);
8473
535k
        case detail::arg_type::ldouble_type:
8474
535k
            SCN_VISIT(long double);
8475
535k
        case detail::arg_type::narrow_string_view_type:
8476
535k
            SCN_VISIT(std::string_view);
8477
538k
        case detail::arg_type::narrow_string_type:
8478
538k
            SCN_VISIT(std::string);
8479
887k
        case detail::arg_type::wide_string_view_type:
8480
887k
            SCN_VISIT(std::wstring_view);
8481
1.23M
        case detail::arg_type::wide_string_type:
8482
1.23M
            SCN_VISIT(std::wstring);
8483
1.23M
        case detail::arg_type::narrow_regex_matches_type:
8484
1.23M
            SCN_VISIT(regex_matches);
8485
1.23M
        case detail::arg_type::wide_regex_matches_type:
8486
1.23M
            SCN_VISIT(wregex_matches);
8487
8488
1.23M
        case detail::arg_type::custom_type:
8489
1.23M
#if !SCN_DISABLE_TYPE_CUSTOM
8490
1.23M
            return vis(
8491
1.23M
                typename Ctx::arg_type::handle(arg.m_value.custom_value));
8492
#else
8493
            return vis(monostate_val);
8494
#endif
8495
8496
0
            SCN_CLANG_PUSH
8497
0
            SCN_CLANG_IGNORE("-Wcovered-switch-default")
8498
8499
0
            SCN_UNLIKELY_ATTR
8500
0
        case detail::arg_type::none_type:
8501
0
        default: {
8502
0
            return vis(monostate_val);
8503
0
        }
8504
8505
1.23M
            SCN_CLANG_POP
8506
1.23M
    }
8507
8508
0
#undef SCN_VISIT
8509
8510
0
    SCN_ENSURE(false);
8511
0
    SCN_UNREACHABLE;
8512
0
}
decltype(auto) scn::v3::visit_scan_arg<scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<wchar_t> >, scn::v3::basic_scan_context<wchar_t> >(scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<wchar_t> >&&, scn::v3::basic_scan_arg<scn::v3::basic_scan_context<wchar_t> >&)
Line
Count
Source
8427
681k
{
8428
681k
#define SCN_VISIT(Type)                                         \
8429
681k
    if constexpr (!detail::is_type_disabled<Type>) {            \
8430
681k
        return vis(*static_cast<Type*>(arg.m_value.ref_value)); \
8431
681k
    }                                                           \
8432
681k
    else {                                                      \
8433
681k
        return vis(monostate_val);                              \
8434
681k
    }
8435
8436
681k
    monostate monostate_val{};
8437
8438
681k
    switch (arg.m_type) {
8439
4.34k
        case detail::arg_type::schar_type:
8440
4.34k
            SCN_VISIT(signed char);
8441
4.34k
        case detail::arg_type::short_type:
8442
4.34k
            SCN_VISIT(short);
8443
8.71k
        case detail::arg_type::int_type:
8444
8.71k
            SCN_VISIT(int);
8445
8.71k
        case detail::arg_type::long_type:
8446
8.71k
            SCN_VISIT(long);
8447
13.1k
        case detail::arg_type::llong_type:
8448
13.1k
            SCN_VISIT(long long);
8449
17.4k
        case detail::arg_type::uchar_type:
8450
17.4k
            SCN_VISIT(unsigned char);
8451
17.4k
        case detail::arg_type::ushort_type:
8452
17.4k
            SCN_VISIT(unsigned short);
8453
21.7k
        case detail::arg_type::uint_type:
8454
21.7k
            SCN_VISIT(unsigned);
8455
21.7k
        case detail::arg_type::ulong_type:
8456
21.7k
            SCN_VISIT(unsigned long);
8457
26.1k
        case detail::arg_type::ullong_type:
8458
26.1k
            SCN_VISIT(unsigned long long);
8459
26.1k
        case detail::arg_type::pointer_type:
8460
26.1k
            SCN_VISIT(void*);
8461
26.1k
        case detail::arg_type::bool_type:
8462
26.1k
            SCN_VISIT(bool);
8463
26.1k
        case detail::arg_type::narrow_character_type:
8464
26.1k
            SCN_VISIT(char);
8465
26.1k
        case detail::arg_type::wide_character_type:
8466
26.1k
            SCN_VISIT(wchar_t);
8467
26.1k
        case detail::arg_type::code_point_type:
8468
26.1k
            SCN_VISIT(char32_t);
8469
69.6k
        case detail::arg_type::float_type:
8470
69.6k
            SCN_VISIT(float);
8471
121k
        case detail::arg_type::double_type:
8472
121k
            SCN_VISIT(double);
8473
175k
        case detail::arg_type::ldouble_type:
8474
175k
            SCN_VISIT(long double);
8475
175k
        case detail::arg_type::narrow_string_view_type:
8476
175k
            SCN_VISIT(std::string_view);
8477
175k
        case detail::arg_type::narrow_string_type:
8478
175k
            SCN_VISIT(std::string);
8479
175k
        case detail::arg_type::wide_string_view_type:
8480
175k
            SCN_VISIT(std::wstring_view);
8481
681k
        case detail::arg_type::wide_string_type:
8482
681k
            SCN_VISIT(std::wstring);
8483
681k
        case detail::arg_type::narrow_regex_matches_type:
8484
681k
            SCN_VISIT(regex_matches);
8485
681k
        case detail::arg_type::wide_regex_matches_type:
8486
681k
            SCN_VISIT(wregex_matches);
8487
8488
681k
        case detail::arg_type::custom_type:
8489
681k
#if !SCN_DISABLE_TYPE_CUSTOM
8490
681k
            return vis(
8491
681k
                typename Ctx::arg_type::handle(arg.m_value.custom_value));
8492
#else
8493
            return vis(monostate_val);
8494
#endif
8495
8496
0
            SCN_CLANG_PUSH
8497
0
            SCN_CLANG_IGNORE("-Wcovered-switch-default")
8498
8499
0
            SCN_UNLIKELY_ATTR
8500
0
        case detail::arg_type::none_type:
8501
0
        default: {
8502
0
            return vis(monostate_val);
8503
0
        }
8504
8505
681k
            SCN_CLANG_POP
8506
681k
    }
8507
8508
0
#undef SCN_VISIT
8509
8510
0
    SCN_ENSURE(false);
8511
0
    SCN_UNREACHABLE;
8512
0
}
decltype(auto) scn::v3::visit_scan_arg<scn::v3::impl::arg_reader<scn::v3::basic_scan_context<wchar_t> >, scn::v3::basic_scan_context<wchar_t> >(scn::v3::impl::arg_reader<scn::v3::basic_scan_context<wchar_t> >&&, scn::v3::basic_scan_arg<scn::v3::basic_scan_context<wchar_t> >&)
Line
Count
Source
8427
862k
{
8428
862k
#define SCN_VISIT(Type)                                         \
8429
862k
    if constexpr (!detail::is_type_disabled<Type>) {            \
8430
862k
        return vis(*static_cast<Type*>(arg.m_value.ref_value)); \
8431
862k
    }                                                           \
8432
862k
    else {                                                      \
8433
862k
        return vis(monostate_val);                              \
8434
862k
    }
8435
8436
862k
    monostate monostate_val{};
8437
8438
862k
    switch (arg.m_type) {
8439
17.3k
        case detail::arg_type::schar_type:
8440
17.3k
            SCN_VISIT(signed char);
8441
17.3k
        case detail::arg_type::short_type:
8442
17.3k
            SCN_VISIT(short);
8443
34.7k
        case detail::arg_type::int_type:
8444
34.7k
            SCN_VISIT(int);
8445
34.7k
        case detail::arg_type::long_type:
8446
34.7k
            SCN_VISIT(long);
8447
52.2k
        case detail::arg_type::llong_type:
8448
52.2k
            SCN_VISIT(long long);
8449
69.4k
        case detail::arg_type::uchar_type:
8450
69.4k
            SCN_VISIT(unsigned char);
8451
69.4k
        case detail::arg_type::ushort_type:
8452
69.4k
            SCN_VISIT(unsigned short);
8453
86.7k
        case detail::arg_type::uint_type:
8454
86.7k
            SCN_VISIT(unsigned);
8455
86.7k
        case detail::arg_type::ulong_type:
8456
86.7k
            SCN_VISIT(unsigned long);
8457
104k
        case detail::arg_type::ullong_type:
8458
104k
            SCN_VISIT(unsigned long long);
8459
104k
        case detail::arg_type::pointer_type:
8460
104k
            SCN_VISIT(void*);
8461
104k
        case detail::arg_type::bool_type:
8462
104k
            SCN_VISIT(bool);
8463
104k
        case detail::arg_type::narrow_character_type:
8464
104k
            SCN_VISIT(char);
8465
104k
        case detail::arg_type::wide_character_type:
8466
104k
            SCN_VISIT(wchar_t);
8467
104k
        case detail::arg_type::code_point_type:
8468
104k
            SCN_VISIT(char32_t);
8469
233k
        case detail::arg_type::float_type:
8470
233k
            SCN_VISIT(float);
8471
374k
        case detail::arg_type::double_type:
8472
374k
            SCN_VISIT(double);
8473
516k
        case detail::arg_type::ldouble_type:
8474
516k
            SCN_VISIT(long double);
8475
516k
        case detail::arg_type::narrow_string_view_type:
8476
516k
            SCN_VISIT(std::string_view);
8477
516k
        case detail::arg_type::narrow_string_type:
8478
516k
            SCN_VISIT(std::string);
8479
516k
        case detail::arg_type::wide_string_view_type:
8480
516k
            SCN_VISIT(std::wstring_view);
8481
862k
        case detail::arg_type::wide_string_type:
8482
862k
            SCN_VISIT(std::wstring);
8483
862k
        case detail::arg_type::narrow_regex_matches_type:
8484
862k
            SCN_VISIT(regex_matches);
8485
862k
        case detail::arg_type::wide_regex_matches_type:
8486
862k
            SCN_VISIT(wregex_matches);
8487
8488
862k
        case detail::arg_type::custom_type:
8489
862k
#if !SCN_DISABLE_TYPE_CUSTOM
8490
862k
            return vis(
8491
862k
                typename Ctx::arg_type::handle(arg.m_value.custom_value));
8492
#else
8493
            return vis(monostate_val);
8494
#endif
8495
8496
0
            SCN_CLANG_PUSH
8497
0
            SCN_CLANG_IGNORE("-Wcovered-switch-default")
8498
8499
0
            SCN_UNLIKELY_ATTR
8500
0
        case detail::arg_type::none_type:
8501
0
        default: {
8502
0
            return vis(monostate_val);
8503
0
        }
8504
8505
862k
            SCN_CLANG_POP
8506
862k
    }
8507
8508
0
#undef SCN_VISIT
8509
8510
0
    SCN_ENSURE(false);
8511
0
    SCN_UNREACHABLE;
8512
0
}
8513
8514
/////////////////////////////////////////////////////////////////
8515
// vscan
8516
/////////////////////////////////////////////////////////////////
8517
8518
/**
8519
 * \defgroup vscan Type-erased scanning API
8520
 *
8521
 * \brief Lower-level scanning API with type-erased arguments
8522
 */
8523
8524
namespace detail {
8525
template <typename Source>
8526
using scan_result_value_type =
8527
    std::conditional_t<std::is_same_v<remove_cvref_t<Source>, std::FILE*>,
8528
                       std::FILE*,
8529
                       borrowed_tail_subrange_t<Source>>;
8530
}
8531
8532
/**
8533
 * Result type returned by `vscan`.
8534
 *
8535
 * The value type of the `scan_expected` is `FILE*` if `Source` is `FILE*`,
8536
 * `detail::borrowed_tail_subrange_t<Source>` otherwise.
8537
 *
8538
 * \ingroup vscan
8539
 */
8540
template <typename Source>
8541
using vscan_result = scan_expected<detail::scan_result_value_type<Source>>;
8542
8543
namespace detail {
8544
scan_expected<std::ptrdiff_t> vscan_impl(std::string_view source,
8545
                                         std::string_view format,
8546
                                         scan_args args);
8547
scan_expected<std::ptrdiff_t> vscan_impl(scan_buffer& source,
8548
                                         std::string_view format,
8549
                                         scan_args args);
8550
8551
scan_expected<std::ptrdiff_t> vscan_impl(std::wstring_view source,
8552
                                         std::wstring_view format,
8553
                                         wscan_args args);
8554
scan_expected<std::ptrdiff_t> vscan_impl(wscan_buffer& source,
8555
                                         std::wstring_view format,
8556
                                         wscan_args args);
8557
8558
#if !SCN_DISABLE_LOCALE
8559
template <typename Locale>
8560
scan_expected<std::ptrdiff_t> vscan_localized_impl(const Locale& loc,
8561
                                                   std::string_view source,
8562
                                                   std::string_view format,
8563
                                                   scan_args args);
8564
template <typename Locale>
8565
scan_expected<std::ptrdiff_t> vscan_localized_impl(const Locale& loc,
8566
                                                   scan_buffer& source,
8567
                                                   std::string_view format,
8568
                                                   scan_args args);
8569
8570
template <typename Locale>
8571
scan_expected<std::ptrdiff_t> vscan_localized_impl(const Locale& loc,
8572
                                                   std::wstring_view source,
8573
                                                   std::wstring_view format,
8574
                                                   wscan_args args);
8575
template <typename Locale>
8576
scan_expected<std::ptrdiff_t> vscan_localized_impl(const Locale& loc,
8577
                                                   wscan_buffer& source,
8578
                                                   std::wstring_view format,
8579
                                                   wscan_args args);
8580
#endif
8581
8582
scan_expected<std::ptrdiff_t> vscan_value_impl(
8583
    std::string_view source,
8584
    basic_scan_arg<scan_context> arg);
8585
scan_expected<std::ptrdiff_t> vscan_value_impl(
8586
    scan_buffer& source,
8587
    basic_scan_arg<scan_context> arg);
8588
8589
scan_expected<std::ptrdiff_t> vscan_value_impl(
8590
    std::wstring_view source,
8591
    basic_scan_arg<wscan_context> arg);
8592
scan_expected<std::ptrdiff_t> vscan_value_impl(
8593
    wscan_buffer& source,
8594
    basic_scan_arg<wscan_context> arg);
8595
8596
template <typename Range, typename CharT>
8597
auto vscan_generic(Range&& range,
8598
                   std::basic_string_view<CharT> format,
8599
                   basic_scan_args<basic_scan_context<CharT>> args)
8600
    -> vscan_result<Range>
8601
3.47M
{
8602
3.47M
    auto buffer = make_scan_buffer(range);
8603
8604
3.47M
    auto result = vscan_impl(buffer, format, args);
8605
3.47M
    if (SCN_UNLIKELY(!result)) {
8606
699k
        return unexpected(result.error());
8607
699k
    }
8608
2.77M
    return make_vscan_result_range(SCN_FWD(range), *result);
8609
3.47M
}
_ZN3scn2v36detail13vscan_genericINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEcEENS0_13scan_expectedINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESH_NS1_22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEEEOSD_NSB_17basic_string_viewIT0_NSB_11char_traitsISQ_EEEENS0_15basic_scan_argsINS0_18basic_scan_contextISQ_EEEE
Line
Count
Source
8601
782k
{
8602
782k
    auto buffer = make_scan_buffer(range);
8603
8604
782k
    auto result = vscan_impl(buffer, format, args);
8605
782k
    if (SCN_UNLIKELY(!result)) {
8606
94.8k
        return unexpected(result.error());
8607
94.8k
    }
8608
687k
    return make_vscan_result_range(SCN_FWD(range), *result);
8609
782k
}
_ZN3scn2v36detail13vscan_genericINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEcEENS0_13scan_expectedINS7_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESM_NS1_22borrowed_tail_subrangeISI_Xsr6rangesE14borrowed_rangeISI_EEE4typeEE4typeEEEOSI_NS7_17basic_string_viewIT0_NS7_11char_traitsISV_EEEENS0_15basic_scan_argsINS0_18basic_scan_contextISV_EEEE
Line
Count
Source
8601
814k
{
8602
814k
    auto buffer = make_scan_buffer(range);
8603
8604
814k
    auto result = vscan_impl(buffer, format, args);
8605
814k
    if (SCN_UNLIKELY(!result)) {
8606
88.6k
        return unexpected(result.error());
8607
88.6k
    }
8608
726k
    return make_vscan_result_range(SCN_FWD(range), *result);
8609
814k
}
_ZN3scn2v36detail13vscan_genericINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEwEENS0_13scan_expectedINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESH_NS1_22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEEEOSD_NSB_17basic_string_viewIT0_NSB_11char_traitsISQ_EEEENS0_15basic_scan_argsINS0_18basic_scan_contextISQ_EEEE
Line
Count
Source
8601
1.03M
{
8602
1.03M
    auto buffer = make_scan_buffer(range);
8603
8604
1.03M
    auto result = vscan_impl(buffer, format, args);
8605
1.03M
    if (SCN_UNLIKELY(!result)) {
8606
189k
        return unexpected(result.error());
8607
189k
    }
8608
844k
    return make_vscan_result_range(SCN_FWD(range), *result);
8609
1.03M
}
_ZN3scn2v36detail13vscan_genericINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRS9_PKSA_lLl1024EEESE_EEwEENS0_13scan_expectedINS7_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESM_NS1_22borrowed_tail_subrangeISI_Xsr6rangesE14borrowed_rangeISI_EEE4typeEE4typeEEEOSI_NS7_17basic_string_viewIT0_NS7_11char_traitsISV_EEEENS0_15basic_scan_argsINS0_18basic_scan_contextISV_EEEE
Line
Count
Source
8601
687k
{
8602
687k
    auto buffer = make_scan_buffer(range);
8603
8604
687k
    auto result = vscan_impl(buffer, format, args);
8605
687k
    if (SCN_UNLIKELY(!result)) {
8606
177k
        return unexpected(result.error());
8607
177k
    }
8608
510k
    return make_vscan_result_range(SCN_FWD(range), *result);
8609
687k
}
_ZN3scn2v36detail13vscan_genericIRNSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEcEENS0_13scan_expectedINS3_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESF_NS1_22borrowed_tail_subrangeISB_Xsr6rangesE14borrowed_rangeISB_EEE4typeEE4typeEEEOSB_NS4_IT0_NS5_ISN_EEEENS0_15basic_scan_argsINS0_18basic_scan_contextISN_EEEE
Line
Count
Source
8601
50.3k
{
8602
50.3k
    auto buffer = make_scan_buffer(range);
8603
8604
50.3k
    auto result = vscan_impl(buffer, format, args);
8605
50.3k
    if (SCN_UNLIKELY(!result)) {
8606
48.7k
        return unexpected(result.error());
8607
48.7k
    }
8608
1.59k
    return make_vscan_result_range(SCN_FWD(range), *result);
8609
50.3k
}
_ZN3scn2v36detail13vscan_genericIRNSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEwEENS0_13scan_expectedINS3_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESF_NS1_22borrowed_tail_subrangeISB_Xsr6rangesE14borrowed_rangeISB_EEE4typeEE4typeEEEOSB_NS4_IT0_NS5_ISN_EEEENS0_15basic_scan_argsINS0_18basic_scan_contextISN_EEEE
Line
Count
Source
8601
100k
{
8602
100k
    auto buffer = make_scan_buffer(range);
8603
8604
100k
    auto result = vscan_impl(buffer, format, args);
8605
100k
    if (SCN_UNLIKELY(!result)) {
8606
100k
        return unexpected(result.error());
8607
100k
    }
8608
759
    return make_vscan_result_range(SCN_FWD(range), *result);
8609
100k
}
8610
8611
template <typename Locale, typename Range, typename CharT>
8612
auto vscan_localized_generic(const Locale& loc,
8613
                             Range&& range,
8614
                             std::basic_string_view<CharT> format,
8615
                             basic_scan_args<basic_scan_context<CharT>> args)
8616
    -> vscan_result<Range>
8617
3.47M
{
8618
3.47M
#if !SCN_DISABLE_LOCALE
8619
3.47M
    auto buffer = detail::make_scan_buffer(range);
8620
8621
3.47M
    SCN_CLANG_PUSH_IGNORE_UNDEFINED_TEMPLATE
8622
3.47M
    auto result = detail::vscan_localized_impl(loc, buffer, format, args);
8623
3.47M
    SCN_CLANG_POP_IGNORE_UNDEFINED_TEMPLATE
8624
8625
3.47M
    if (SCN_UNLIKELY(!result)) {
8626
699k
        return unexpected(result.error());
8627
699k
    }
8628
2.77M
    return detail::make_vscan_result_range(SCN_FWD(range), *result);
8629
#else
8630
    static_assert(dependent_false<Locale>::value,
8631
                  "Can't use scan(locale, ...) with SCN_DISABLE_LOCALE on");
8632
8633
    return {};
8634
#endif
8635
3.47M
}
_ZN3scn2v36detail23vscan_localized_genericINSt3__16localeENS0_6ranges6detail9subrange_8subrangeIPKcSA_EEcEENS0_13scan_expectedINS3_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESI_NS1_22borrowed_tail_subrangeISE_Xsr6rangesE14borrowed_rangeISE_EEE4typeEE4typeEEERKT_OSE_NS3_17basic_string_viewIT1_NS3_11char_traitsISU_EEEENS0_15basic_scan_argsINS0_18basic_scan_contextISU_EEEE
Line
Count
Source
8617
782k
{
8618
782k
#if !SCN_DISABLE_LOCALE
8619
782k
    auto buffer = detail::make_scan_buffer(range);
8620
8621
782k
    SCN_CLANG_PUSH_IGNORE_UNDEFINED_TEMPLATE
8622
782k
    auto result = detail::vscan_localized_impl(loc, buffer, format, args);
8623
782k
    SCN_CLANG_POP_IGNORE_UNDEFINED_TEMPLATE
8624
8625
782k
    if (SCN_UNLIKELY(!result)) {
8626
94.8k
        return unexpected(result.error());
8627
94.8k
    }
8628
687k
    return detail::make_vscan_result_range(SCN_FWD(range), *result);
8629
#else
8630
    static_assert(dependent_false<Locale>::value,
8631
                  "Can't use scan(locale, ...) with SCN_DISABLE_LOCALE on");
8632
8633
    return {};
8634
#endif
8635
782k
}
_ZN3scn2v36detail23vscan_localized_genericINSt3__16localeENS0_6ranges6detail9subrange_8subrangeINS3_16__deque_iteratorIcPKcRSA_PKSB_lLl4096EEESF_EEcEENS0_13scan_expectedINS3_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESN_NS1_22borrowed_tail_subrangeISJ_Xsr6rangesE14borrowed_rangeISJ_EEE4typeEE4typeEEERKT_OSJ_NS3_17basic_string_viewIT1_NS3_11char_traitsISZ_EEEENS0_15basic_scan_argsINS0_18basic_scan_contextISZ_EEEE
Line
Count
Source
8617
814k
{
8618
814k
#if !SCN_DISABLE_LOCALE
8619
814k
    auto buffer = detail::make_scan_buffer(range);
8620
8621
814k
    SCN_CLANG_PUSH_IGNORE_UNDEFINED_TEMPLATE
8622
814k
    auto result = detail::vscan_localized_impl(loc, buffer, format, args);
8623
814k
    SCN_CLANG_POP_IGNORE_UNDEFINED_TEMPLATE
8624
8625
814k
    if (SCN_UNLIKELY(!result)) {
8626
88.6k
        return unexpected(result.error());
8627
88.6k
    }
8628
726k
    return detail::make_vscan_result_range(SCN_FWD(range), *result);
8629
#else
8630
    static_assert(dependent_false<Locale>::value,
8631
                  "Can't use scan(locale, ...) with SCN_DISABLE_LOCALE on");
8632
8633
    return {};
8634
#endif
8635
814k
}
_ZN3scn2v36detail23vscan_localized_genericINSt3__16localeENS0_6ranges6detail9subrange_8subrangeIPKwSA_EEwEENS0_13scan_expectedINS3_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESI_NS1_22borrowed_tail_subrangeISE_Xsr6rangesE14borrowed_rangeISE_EEE4typeEE4typeEEERKT_OSE_NS3_17basic_string_viewIT1_NS3_11char_traitsISU_EEEENS0_15basic_scan_argsINS0_18basic_scan_contextISU_EEEE
Line
Count
Source
8617
1.03M
{
8618
1.03M
#if !SCN_DISABLE_LOCALE
8619
1.03M
    auto buffer = detail::make_scan_buffer(range);
8620
8621
1.03M
    SCN_CLANG_PUSH_IGNORE_UNDEFINED_TEMPLATE
8622
1.03M
    auto result = detail::vscan_localized_impl(loc, buffer, format, args);
8623
1.03M
    SCN_CLANG_POP_IGNORE_UNDEFINED_TEMPLATE
8624
8625
1.03M
    if (SCN_UNLIKELY(!result)) {
8626
189k
        return unexpected(result.error());
8627
189k
    }
8628
844k
    return detail::make_vscan_result_range(SCN_FWD(range), *result);
8629
#else
8630
    static_assert(dependent_false<Locale>::value,
8631
                  "Can't use scan(locale, ...) with SCN_DISABLE_LOCALE on");
8632
8633
    return {};
8634
#endif
8635
1.03M
}
_ZN3scn2v36detail23vscan_localized_genericINSt3__16localeENS0_6ranges6detail9subrange_8subrangeINS3_16__deque_iteratorIwPKwRSA_PKSB_lLl1024EEESF_EEwEENS0_13scan_expectedINS3_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESN_NS1_22borrowed_tail_subrangeISJ_Xsr6rangesE14borrowed_rangeISJ_EEE4typeEE4typeEEERKT_OSJ_NS3_17basic_string_viewIT1_NS3_11char_traitsISZ_EEEENS0_15basic_scan_argsINS0_18basic_scan_contextISZ_EEEE
Line
Count
Source
8617
687k
{
8618
687k
#if !SCN_DISABLE_LOCALE
8619
687k
    auto buffer = detail::make_scan_buffer(range);
8620
8621
687k
    SCN_CLANG_PUSH_IGNORE_UNDEFINED_TEMPLATE
8622
687k
    auto result = detail::vscan_localized_impl(loc, buffer, format, args);
8623
687k
    SCN_CLANG_POP_IGNORE_UNDEFINED_TEMPLATE
8624
8625
687k
    if (SCN_UNLIKELY(!result)) {
8626
177k
        return unexpected(result.error());
8627
177k
    }
8628
510k
    return detail::make_vscan_result_range(SCN_FWD(range), *result);
8629
#else
8630
    static_assert(dependent_false<Locale>::value,
8631
                  "Can't use scan(locale, ...) with SCN_DISABLE_LOCALE on");
8632
8633
    return {};
8634
#endif
8635
687k
}
_ZN3scn2v36detail23vscan_localized_genericINSt3__16localeERNS3_17basic_string_viewIcNS3_11char_traitsIcEEEEcEENS0_13scan_expectedINS3_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESG_NS1_22borrowed_tail_subrangeISC_Xsr6rangesE14borrowed_rangeISC_EEE4typeEE4typeEEERKT_OSC_NS5_IT1_NS6_ISR_EEEENS0_15basic_scan_argsINS0_18basic_scan_contextISR_EEEE
Line
Count
Source
8617
50.3k
{
8618
50.3k
#if !SCN_DISABLE_LOCALE
8619
50.3k
    auto buffer = detail::make_scan_buffer(range);
8620
8621
50.3k
    SCN_CLANG_PUSH_IGNORE_UNDEFINED_TEMPLATE
8622
50.3k
    auto result = detail::vscan_localized_impl(loc, buffer, format, args);
8623
50.3k
    SCN_CLANG_POP_IGNORE_UNDEFINED_TEMPLATE
8624
8625
50.3k
    if (SCN_UNLIKELY(!result)) {
8626
48.7k
        return unexpected(result.error());
8627
48.7k
    }
8628
1.59k
    return detail::make_vscan_result_range(SCN_FWD(range), *result);
8629
#else
8630
    static_assert(dependent_false<Locale>::value,
8631
                  "Can't use scan(locale, ...) with SCN_DISABLE_LOCALE on");
8632
8633
    return {};
8634
#endif
8635
50.3k
}
_ZN3scn2v36detail23vscan_localized_genericINSt3__16localeERNS3_17basic_string_viewIwNS3_11char_traitsIwEEEEwEENS0_13scan_expectedINS3_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESG_NS1_22borrowed_tail_subrangeISC_Xsr6rangesE14borrowed_rangeISC_EEE4typeEE4typeEEERKT_OSC_NS5_IT1_NS6_ISR_EEEENS0_15basic_scan_argsINS0_18basic_scan_contextISR_EEEE
Line
Count
Source
8617
100k
{
8618
100k
#if !SCN_DISABLE_LOCALE
8619
100k
    auto buffer = detail::make_scan_buffer(range);
8620
8621
100k
    SCN_CLANG_PUSH_IGNORE_UNDEFINED_TEMPLATE
8622
100k
    auto result = detail::vscan_localized_impl(loc, buffer, format, args);
8623
100k
    SCN_CLANG_POP_IGNORE_UNDEFINED_TEMPLATE
8624
8625
100k
    if (SCN_UNLIKELY(!result)) {
8626
100k
        return unexpected(result.error());
8627
100k
    }
8628
759
    return detail::make_vscan_result_range(SCN_FWD(range), *result);
8629
#else
8630
    static_assert(dependent_false<Locale>::value,
8631
                  "Can't use scan(locale, ...) with SCN_DISABLE_LOCALE on");
8632
8633
    return {};
8634
#endif
8635
100k
}
8636
8637
template <typename Range, typename CharT>
8638
auto vscan_value_generic(Range&& range,
8639
                         basic_scan_arg<basic_scan_context<CharT>> arg)
8640
    -> vscan_result<Range>
8641
977k
{
8642
977k
    auto buffer = detail::make_scan_buffer(range);
8643
8644
977k
    auto result = detail::vscan_value_impl(buffer, arg);
8645
977k
    if (SCN_UNLIKELY(!result)) {
8646
74.8k
        return unexpected(result.error());
8647
74.8k
    }
8648
902k
    return detail::make_vscan_result_range(SCN_FWD(range), *result);
8649
977k
}
_ZN3scn2v36detail19vscan_value_genericINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEcEENS0_13scan_expectedINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESH_NS1_22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEEEOSD_NS0_14basic_scan_argINS0_18basic_scan_contextIT0_EEEE
Line
Count
Source
8641
181k
{
8642
181k
    auto buffer = detail::make_scan_buffer(range);
8643
8644
181k
    auto result = detail::vscan_value_impl(buffer, arg);
8645
181k
    if (SCN_UNLIKELY(!result)) {
8646
12.9k
        return unexpected(result.error());
8647
12.9k
    }
8648
168k
    return detail::make_vscan_result_range(SCN_FWD(range), *result);
8649
181k
}
_ZN3scn2v36detail19vscan_value_genericINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEcEENS0_13scan_expectedINS7_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESM_NS1_22borrowed_tail_subrangeISI_Xsr6rangesE14borrowed_rangeISI_EEE4typeEE4typeEEEOSI_NS0_14basic_scan_argINS0_18basic_scan_contextIT0_EEEE
Line
Count
Source
8641
172k
{
8642
172k
    auto buffer = detail::make_scan_buffer(range);
8643
8644
172k
    auto result = detail::vscan_value_impl(buffer, arg);
8645
172k
    if (SCN_UNLIKELY(!result)) {
8646
11.9k
        return unexpected(result.error());
8647
11.9k
    }
8648
160k
    return detail::make_vscan_result_range(SCN_FWD(range), *result);
8649
172k
}
_ZN3scn2v36detail19vscan_value_genericINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEwEENS0_13scan_expectedINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESH_NS1_22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEEEOSD_NS0_14basic_scan_argINS0_18basic_scan_contextIT0_EEEE
Line
Count
Source
8641
395k
{
8642
395k
    auto buffer = detail::make_scan_buffer(range);
8643
8644
395k
    auto result = detail::vscan_value_impl(buffer, arg);
8645
395k
    if (SCN_UNLIKELY(!result)) {
8646
25.9k
        return unexpected(result.error());
8647
25.9k
    }
8648
370k
    return detail::make_vscan_result_range(SCN_FWD(range), *result);
8649
395k
}
_ZN3scn2v36detail19vscan_value_genericINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRS9_PKSA_lLl1024EEESE_EEwEENS0_13scan_expectedINS7_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESM_NS1_22borrowed_tail_subrangeISI_Xsr6rangesE14borrowed_rangeISI_EEE4typeEE4typeEEEOSI_NS0_14basic_scan_argINS0_18basic_scan_contextIT0_EEEE
Line
Count
Source
8641
227k
{
8642
227k
    auto buffer = detail::make_scan_buffer(range);
8643
8644
227k
    auto result = detail::vscan_value_impl(buffer, arg);
8645
227k
    if (SCN_UNLIKELY(!result)) {
8646
23.9k
        return unexpected(result.error());
8647
23.9k
    }
8648
203k
    return detail::make_vscan_result_range(SCN_FWD(range), *result);
8649
227k
}
8650
}  // namespace detail
8651
8652
SCN_GCC_PUSH
8653
SCN_GCC_IGNORE("-Wnoexcept")
8654
8655
/**
8656
 * Perform actual scanning from `source`, according to `format`, into the
8657
 * type-erased arguments at `args`. Called by `scan`.
8658
 *
8659
 * \ingroup vscan
8660
 */
8661
template <typename Source>
8662
auto vscan(Source&& source, std::string_view format, scan_args args)
8663
    -> vscan_result<Source>
8664
1.64M
{
8665
1.64M
    return detail::vscan_generic(SCN_FWD(source), format, args);
8666
1.64M
}
_ZN3scn2v35vscanINS0_6ranges6detail9subrange_8subrangeIPKcS7_EEEENS0_13scan_expectedINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESG_NS0_6detail22borrowed_tail_subrangeISC_Xsr6rangesE14borrowed_rangeISC_EEE4typeEE4typeEEEOSC_NSA_17basic_string_viewIcNSA_11char_traitsIcEEEENS0_15basic_scan_argsINS0_18basic_scan_contextIcEEEE
Line
Count
Source
8664
782k
{
8665
782k
    return detail::vscan_generic(SCN_FWD(source), format, args);
8666
782k
}
_ZN3scn2v35vscanINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS8_PKS9_lLl4096EEESD_EEEENS0_13scan_expectedINS6_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESL_NS0_6detail22borrowed_tail_subrangeISH_Xsr6rangesE14borrowed_rangeISH_EEE4typeEE4typeEEEOSH_NS6_17basic_string_viewIcNS6_11char_traitsIcEEEENS0_15basic_scan_argsINS0_18basic_scan_contextIcEEEE
Line
Count
Source
8664
814k
{
8665
814k
    return detail::vscan_generic(SCN_FWD(source), format, args);
8666
814k
}
_ZN3scn2v35vscanIRNSt3__117basic_string_viewIcNS2_11char_traitsIcEEEEEENS0_13scan_expectedINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESE_NS0_6detail22borrowed_tail_subrangeISA_Xsr6rangesE14borrowed_rangeISA_EEE4typeEE4typeEEEOSA_S6_NS0_15basic_scan_argsINS0_18basic_scan_contextIcEEEE
Line
Count
Source
8664
50.3k
{
8665
50.3k
    return detail::vscan_generic(SCN_FWD(source), format, args);
8666
50.3k
}
8667
8668
/**
8669
 * Perform actual scanning from `source`, according to `format`, into the
8670
 * type-erased arguments at `args`, using `loc`, if requested. Called by
8671
 * `scan`.
8672
 *
8673
 * \ingroup locale
8674
 */
8675
template <typename Source,
8676
          typename Locale,
8677
          typename = std::void_t<decltype(Locale::classic())>>
8678
auto vscan(const Locale& loc,
8679
           Source&& source,
8680
           std::string_view format,
8681
           scan_args args) -> vscan_result<Source>
8682
1.64M
{
8683
1.64M
    return detail::vscan_localized_generic(loc, SCN_FWD(source), format, args);
8684
1.64M
}
_ZN3scn2v35vscanINS0_6ranges6detail9subrange_8subrangeIPKcS7_EENSt3__16localeEvEENS0_13scan_expectedINS9_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESH_NS0_6detail22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEEERKT0_OSD_NS9_17basic_string_viewIcNS9_11char_traitsIcEEEENS0_15basic_scan_argsINS0_18basic_scan_contextIcEEEE
Line
Count
Source
8682
782k
{
8683
782k
    return detail::vscan_localized_generic(loc, SCN_FWD(source), format, args);
8684
782k
}
_ZN3scn2v35vscanINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS8_PKS9_lLl4096EEESD_EENS6_6localeEvEENS0_13scan_expectedINS6_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESM_NS0_6detail22borrowed_tail_subrangeISI_Xsr6rangesE14borrowed_rangeISI_EEE4typeEE4typeEEERKT0_OSI_NS6_17basic_string_viewIcNS6_11char_traitsIcEEEENS0_15basic_scan_argsINS0_18basic_scan_contextIcEEEE
Line
Count
Source
8682
814k
{
8683
814k
    return detail::vscan_localized_generic(loc, SCN_FWD(source), format, args);
8684
814k
}
_ZN3scn2v35vscanIRNSt3__117basic_string_viewIcNS2_11char_traitsIcEEEENS2_6localeEvEENS0_13scan_expectedINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESF_NS0_6detail22borrowed_tail_subrangeISB_Xsr6rangesE14borrowed_rangeISB_EEE4typeEE4typeEEERKT0_OSB_S6_NS0_15basic_scan_argsINS0_18basic_scan_contextIcEEEE
Line
Count
Source
8682
50.3k
{
8683
50.3k
    return detail::vscan_localized_generic(loc, SCN_FWD(source), format, args);
8684
50.3k
}
8685
8686
/**
8687
 * Perform actual scanning from `source` into the type-erased argument at
8688
 * `arg`. Called by `scan_value`.
8689
 *
8690
 * \ingroup vscan
8691
 */
8692
template <typename Source>
8693
auto vscan_value(Source&& source, basic_scan_arg<scan_context> arg)
8694
    -> vscan_result<Source>
8695
354k
{
8696
354k
    return detail::vscan_value_generic(SCN_FWD(source), arg);
8697
354k
}
_ZN3scn2v311vscan_valueINS0_6ranges6detail9subrange_8subrangeIPKcS7_EEEENS0_13scan_expectedINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESG_NS0_6detail22borrowed_tail_subrangeISC_Xsr6rangesE14borrowed_rangeISC_EEE4typeEE4typeEEEOSC_NS0_14basic_scan_argINS0_18basic_scan_contextIcEEEE
Line
Count
Source
8695
181k
{
8696
181k
    return detail::vscan_value_generic(SCN_FWD(source), arg);
8697
181k
}
_ZN3scn2v311vscan_valueINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS8_PKS9_lLl4096EEESD_EEEENS0_13scan_expectedINS6_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESL_NS0_6detail22borrowed_tail_subrangeISH_Xsr6rangesE14borrowed_rangeISH_EEE4typeEE4typeEEEOSH_NS0_14basic_scan_argINS0_18basic_scan_contextIcEEEE
Line
Count
Source
8695
172k
{
8696
172k
    return detail::vscan_value_generic(SCN_FWD(source), arg);
8697
172k
}
8698
8699
/**
8700
 * Perform actual scanning from `stdin`, according to `format`, into the
8701
 * type-erased arguments at `args`. Called by `input`.
8702
 *
8703
 * \ingroup vscan
8704
 */
8705
scan_error vinput(std::string_view format, scan_args args);
8706
8707
namespace detail {
8708
template <typename T>
8709
auto scan_int_impl(std::string_view source, T& value, int base)
8710
    -> scan_expected<std::string_view::iterator>;
8711
8712
template <typename T>
8713
auto scan_int_exhaustive_valid_impl(std::string_view source) -> T;
8714
8715
#if !SCN_DISABLE_TYPE_SCHAR
8716
extern template auto scan_int_impl(std::string_view source,
8717
                                   signed char& value,
8718
                                   int base)
8719
    -> scan_expected<std::string_view::iterator>;
8720
extern template auto scan_int_exhaustive_valid_impl(std::string_view)
8721
    -> signed char;
8722
#endif
8723
#if !SCN_DISABLE_TYPE_SHORT
8724
extern template auto scan_int_impl(std::string_view source,
8725
                                   short& value,
8726
                                   int base)
8727
    -> scan_expected<std::string_view::iterator>;
8728
extern template auto scan_int_exhaustive_valid_impl(std::string_view) -> short;
8729
#endif
8730
#if !SCN_DISABLE_TYPE_INT
8731
extern template auto scan_int_impl(std::string_view source,
8732
                                   int& value,
8733
                                   int base)
8734
    -> scan_expected<std::string_view::iterator>;
8735
extern template auto scan_int_exhaustive_valid_impl(std::string_view) -> int;
8736
#endif
8737
#if !SCN_DISABLE_TYPE_LONG
8738
extern template auto scan_int_impl(std::string_view source,
8739
                                   long& value,
8740
                                   int base)
8741
    -> scan_expected<std::string_view::iterator>;
8742
extern template auto scan_int_exhaustive_valid_impl(std::string_view) -> long;
8743
#endif
8744
#if !SCN_DISABLE_TYPE_LONG_LONG
8745
extern template auto scan_int_impl(std::string_view source,
8746
                                   long long& value,
8747
                                   int base)
8748
    -> scan_expected<std::string_view::iterator>;
8749
extern template auto scan_int_exhaustive_valid_impl(std::string_view)
8750
    -> long long;
8751
#endif
8752
#if !SCN_DISABLE_TYPE_UCHAR
8753
extern template auto scan_int_impl(std::string_view source,
8754
                                   unsigned char& value,
8755
                                   int base)
8756
    -> scan_expected<std::string_view::iterator>;
8757
extern template auto scan_int_exhaustive_valid_impl(std::string_view)
8758
    -> unsigned char;
8759
#endif
8760
#if !SCN_DISABLE_TYPE_USHORT
8761
extern template auto scan_int_impl(std::string_view source,
8762
                                   unsigned short& value,
8763
                                   int base)
8764
    -> scan_expected<std::string_view::iterator>;
8765
extern template auto scan_int_exhaustive_valid_impl(std::string_view)
8766
    -> unsigned short;
8767
#endif
8768
#if !SCN_DISABLE_TYPE_UINT
8769
extern template auto scan_int_impl(std::string_view source,
8770
                                   unsigned int& value,
8771
                                   int base)
8772
    -> scan_expected<std::string_view::iterator>;
8773
extern template auto scan_int_exhaustive_valid_impl(std::string_view)
8774
    -> unsigned int;
8775
#endif
8776
#if !SCN_DISABLE_TYPE_ULONG
8777
extern template auto scan_int_impl(std::string_view source,
8778
                                   unsigned long& value,
8779
                                   int base)
8780
    -> scan_expected<std::string_view::iterator>;
8781
extern template auto scan_int_exhaustive_valid_impl(std::string_view)
8782
    -> unsigned long;
8783
#endif
8784
#if !SCN_DISABLE_TYPE_ULONG_LONG
8785
extern template auto scan_int_impl(std::string_view source,
8786
                                   unsigned long long& value,
8787
                                   int base)
8788
    -> scan_expected<std::string_view::iterator>;
8789
extern template auto scan_int_exhaustive_valid_impl(std::string_view)
8790
    -> unsigned long long;
8791
#endif
8792
8793
}  // namespace detail
8794
8795
SCN_GCC_POP  // -Wnoexcept
8796
8797
    // dummy namespace to reset formatting
8798
    namespace detail
8799
{
8800
}
8801
8802
/////////////////////////////////////////////////////////////////
8803
// scan
8804
/////////////////////////////////////////////////////////////////
8805
8806
/**
8807
 * Convenience function to construct the value to return from `scan`,
8808
 * based on the return value of `vscan`, and the argument store.
8809
 *
8810
 * Takes its arguments by rvalue reference to disallow extraneous copying.
8811
 *
8812
 * Note: Because `vscan` places the values it scanned into the argument
8813
 * store passed to it, the call to `make_scan_result` needs to happen
8814
 * strictly after calling `vscan`. This means, that this is UB:
8815
 * `return scn::make_scan_result(scn::vscan(...), std::move(args.args()));`
8816
 *
8817
 * Example:
8818
 * \code{.cpp}
8819
 * auto args = scn::make_scan_args<scan_context, Args...>();
8820
 * auto result = scn::vscan(std::forward<Source>(source), format, args);
8821
 * return scn::make_scan_result(std::move(result), std::move(args.args()));
8822
 * \endcode
8823
 *
8824
 * \ingroup result
8825
 */
8826
template <typename Result, typename... Args>
8827
auto make_scan_result(scan_expected<Result>&& result,
8828
                      std::tuple<Args...>&& args)
8829
    -> scan_expected<scan_result<Result, Args...>>
8830
6.94M
{
8831
6.94M
    if (SCN_UNLIKELY(!result)) {
8832
1.39M
        return unexpected(result.error());
8833
1.39M
    }
8834
5.54M
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8835
6.94M
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, signed char> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >&&, std::__1::tuple<signed char>&&)
Line
Count
Source
8830
69.0k
{
8831
69.0k
    if (SCN_UNLIKELY(!result)) {
8832
14.1k
        return unexpected(result.error());
8833
14.1k
    }
8834
54.9k
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8835
69.0k
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >&&, std::__1::tuple<unsigned char>&&)
Line
Count
Source
8830
60.8k
{
8831
60.8k
    if (SCN_UNLIKELY(!result)) {
8832
14.1k
        return unexpected(result.error());
8833
14.1k
    }
8834
46.7k
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8835
60.8k
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, int> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, int>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >&&, std::__1::tuple<int>&&)
Line
Count
Source
8830
91.8k
{
8831
91.8k
    if (SCN_UNLIKELY(!result)) {
8832
25.3k
        return unexpected(result.error());
8833
25.3k
    }
8834
66.5k
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8835
91.8k
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >&&, std::__1::tuple<unsigned int>&&)
Line
Count
Source
8830
77.1k
{
8831
77.1k
    if (SCN_UNLIKELY(!result)) {
8832
25.3k
        return unexpected(result.error());
8833
25.3k
    }
8834
51.8k
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8835
77.1k
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long long> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long long>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >&&, std::__1::tuple<long long>&&)
Line
Count
Source
8830
82.0k
{
8831
82.0k
    if (SCN_UNLIKELY(!result)) {
8832
14.1k
        return unexpected(result.error());
8833
14.1k
    }
8834
67.8k
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8835
82.0k
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >&&, std::__1::tuple<unsigned long long>&&)
Line
Count
Source
8830
66.6k
{
8831
66.6k
    if (SCN_UNLIKELY(!result)) {
8832
14.1k
        return unexpected(result.error());
8833
14.1k
    }
8834
52.5k
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8835
66.6k
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > >&&, std::__1::tuple<signed char>&&)
Line
Count
Source
8830
69.0k
{
8831
69.0k
    if (SCN_UNLIKELY(!result)) {
8832
14.1k
        return unexpected(result.error());
8833
14.1k
    }
8834
54.9k
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8835
69.0k
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > >&&, std::__1::tuple<unsigned char>&&)
Line
Count
Source
8830
60.9k
{
8831
60.9k
    if (SCN_UNLIKELY(!result)) {
8832
14.1k
        return unexpected(result.error());
8833
14.1k
    }
8834
46.7k
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8835
60.9k
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > >&&, std::__1::tuple<int>&&)
Line
Count
Source
8830
80.3k
{
8831
80.3k
    if (SCN_UNLIKELY(!result)) {
8832
14.1k
        return unexpected(result.error());
8833
14.1k
    }
8834
66.2k
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8835
80.3k
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > >&&, std::__1::tuple<unsigned int>&&)
Line
Count
Source
8830
65.9k
{
8831
65.9k
    if (SCN_UNLIKELY(!result)) {
8832
14.1k
        return unexpected(result.error());
8833
14.1k
    }
8834
51.8k
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8835
65.9k
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > >&&, std::__1::tuple<long long>&&)
Line
Count
Source
8830
81.6k
{
8831
81.6k
    if (SCN_UNLIKELY(!result)) {
8832
14.1k
        return unexpected(result.error());
8833
14.1k
    }
8834
67.5k
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8835
81.6k
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > >&&, std::__1::tuple<unsigned long long>&&)
Line
Count
Source
8830
66.6k
{
8831
66.6k
    if (SCN_UNLIKELY(!result)) {
8832
14.1k
        return unexpected(result.error());
8833
14.1k
    }
8834
52.5k
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8835
66.6k
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >&&, std::__1::tuple<signed char>&&)
Line
Count
Source
8830
28.6k
{
8831
28.6k
    if (SCN_UNLIKELY(!result)) {
8832
28.2k
        return unexpected(result.error());
8833
28.2k
    }
8834
448
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8835
28.6k
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >&&, std::__1::tuple<unsigned char>&&)
Line
Count
Source
8830
28.6k
{
8831
28.6k
    if (SCN_UNLIKELY(!result)) {
8832
28.2k
        return unexpected(result.error());
8833
28.2k
    }
8834
382
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8835
28.6k
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >&&, std::__1::tuple<int>&&)
Line
Count
Source
8830
51.1k
{
8831
51.1k
    if (SCN_UNLIKELY(!result)) {
8832
50.6k
        return unexpected(result.error());
8833
50.6k
    }
8834
554
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8835
51.1k
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >&&, std::__1::tuple<unsigned int>&&)
Line
Count
Source
8830
51.0k
{
8831
51.0k
    if (SCN_UNLIKELY(!result)) {
8832
50.6k
        return unexpected(result.error());
8833
50.6k
    }
8834
440
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8835
51.0k
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >&&, std::__1::tuple<long long>&&)
Line
Count
Source
8830
28.9k
{
8831
28.9k
    if (SCN_UNLIKELY(!result)) {
8832
28.2k
        return unexpected(result.error());
8833
28.2k
    }
8834
660
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8835
28.9k
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >&&, std::__1::tuple<unsigned long long>&&)
Line
Count
Source
8830
28.7k
{
8831
28.7k
    if (SCN_UNLIKELY(!result)) {
8832
28.2k
        return unexpected(result.error());
8833
28.2k
    }
8834
522
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8835
28.7k
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > >&&, std::__1::tuple<signed char>&&)
Line
Count
Source
8830
28.6k
{
8831
28.6k
    if (SCN_UNLIKELY(!result)) {
8832
28.2k
        return unexpected(result.error());
8833
28.2k
    }
8834
448
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8835
28.6k
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > >&&, std::__1::tuple<unsigned char>&&)
Line
Count
Source
8830
28.6k
{
8831
28.6k
    if (SCN_UNLIKELY(!result)) {
8832
28.2k
        return unexpected(result.error());
8833
28.2k
    }
8834
382
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8835
28.6k
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > >&&, std::__1::tuple<int>&&)
Line
Count
Source
8830
28.7k
{
8831
28.7k
    if (SCN_UNLIKELY(!result)) {
8832
28.2k
        return unexpected(result.error());
8833
28.2k
    }
8834
554
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8835
28.7k
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > >&&, std::__1::tuple<unsigned int>&&)
Line
Count
Source
8830
28.6k
{
8831
28.6k
    if (SCN_UNLIKELY(!result)) {
8832
28.2k
        return unexpected(result.error());
8833
28.2k
    }
8834
440
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8835
28.6k
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > >&&, std::__1::tuple<long long>&&)
Line
Count
Source
8830
28.9k
{
8831
28.9k
    if (SCN_UNLIKELY(!result)) {
8832
28.2k
        return unexpected(result.error());
8833
28.2k
    }
8834
660
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8835
28.9k
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > >&&, std::__1::tuple<unsigned long long>&&)
Line
Count
Source
8830
28.7k
{
8831
28.7k
    if (SCN_UNLIKELY(!result)) {
8832
28.2k
        return unexpected(result.error());
8833
28.2k
    }
8834
522
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8835
28.7k
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, float> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, float>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >&&, std::__1::tuple<float>&&)
Line
Count
Source
8830
305k
{
8831
305k
    if (SCN_UNLIKELY(!result)) {
8832
26.7k
        return unexpected(result.error());
8833
26.7k
    }
8834
278k
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8835
305k
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, double> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, double>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >&&, std::__1::tuple<double>&&)
Line
Count
Source
8830
325k
{
8831
325k
    if (SCN_UNLIKELY(!result)) {
8832
37.9k
        return unexpected(result.error());
8833
37.9k
    }
8834
287k
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8835
325k
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long double> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long double>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >&&, std::__1::tuple<long double>&&)
Line
Count
Source
8830
319k
{
8831
319k
    if (SCN_UNLIKELY(!result)) {
8832
26.7k
        return unexpected(result.error());
8833
26.7k
    }
8834
293k
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8835
319k
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, float> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, float>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > >&&, std::__1::tuple<float>&&)
Line
Count
Source
8830
349k
{
8831
349k
    if (SCN_UNLIKELY(!result)) {
8832
26.7k
        return unexpected(result.error());
8833
26.7k
    }
8834
322k
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8835
349k
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, double> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, double>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > >&&, std::__1::tuple<double>&&)
Line
Count
Source
8830
363k
{
8831
363k
    if (SCN_UNLIKELY(!result)) {
8832
26.7k
        return unexpected(result.error());
8833
26.7k
    }
8834
336k
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8835
363k
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long double> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long double>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > >&&, std::__1::tuple<long double>&&)
Line
Count
Source
8830
369k
{
8831
369k
    if (SCN_UNLIKELY(!result)) {
8832
26.7k
        return unexpected(result.error());
8833
26.7k
    }
8834
342k
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8835
369k
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, float> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, float>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >&&, std::__1::tuple<float>&&)
Line
Count
Source
8830
158k
{
8831
158k
    if (SCN_UNLIKELY(!result)) {
8832
53.5k
        return unexpected(result.error());
8833
53.5k
    }
8834
104k
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8835
158k
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >&&, std::__1::tuple<double>&&)
Line
Count
Source
8830
197k
{
8831
197k
    if (SCN_UNLIKELY(!result)) {
8832
75.9k
        return unexpected(result.error());
8833
75.9k
    }
8834
122k
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8835
197k
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long double> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long double>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >&&, std::__1::tuple<long double>&&)
Line
Count
Source
8830
178k
{
8831
178k
    if (SCN_UNLIKELY(!result)) {
8832
53.5k
        return unexpected(result.error());
8833
53.5k
    }
8834
124k
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8835
178k
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, float> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, float>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > >&&, std::__1::tuple<float>&&)
Line
Count
Source
8830
158k
{
8831
158k
    if (SCN_UNLIKELY(!result)) {
8832
53.5k
        return unexpected(result.error());
8833
53.5k
    }
8834
104k
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8835
158k
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, double> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, double>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > >&&, std::__1::tuple<double>&&)
Line
Count
Source
8830
175k
{
8831
175k
    if (SCN_UNLIKELY(!result)) {
8832
53.5k
        return unexpected(result.error());
8833
53.5k
    }
8834
121k
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8835
175k
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long double> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long double>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > >&&, std::__1::tuple<long double>&&)
Line
Count
Source
8830
178k
{
8831
178k
    if (SCN_UNLIKELY(!result)) {
8832
53.5k
        return unexpected(result.error());
8833
53.5k
    }
8834
124k
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8835
178k
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, char> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, char>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >&&, std::__1::tuple<char>&&)
Line
Count
Source
8830
11.1k
{
8831
11.1k
    if (SCN_UNLIKELY(!result)) {
8832
10.9k
        return unexpected(result.error());
8833
10.9k
    }
8834
214
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8835
11.1k
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, bool> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, bool>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >&&, std::__1::tuple<bool>&&)
Line
Count
Source
8830
11.1k
{
8831
11.1k
    if (SCN_UNLIKELY(!result)) {
8832
11.1k
        return unexpected(result.error());
8833
11.1k
    }
8834
0
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8835
11.1k
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, void*> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, void*>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >&&, std::__1::tuple<void*>&&)
Line
Count
Source
8830
11.1k
{
8831
11.1k
    if (SCN_UNLIKELY(!result)) {
8832
11.1k
        return unexpected(result.error());
8833
11.1k
    }
8834
0
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8835
11.1k
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >&&, std::__1::tuple<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
8830
111k
{
8831
111k
    if (SCN_UNLIKELY(!result)) {
8832
22.6k
        return unexpected(result.error());
8833
22.6k
    }
8834
89.2k
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8835
111k
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > > > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >&&, std::__1::tuple<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >&&)
Line
Count
Source
8830
11.1k
{
8831
11.1k
    if (SCN_UNLIKELY(!result)) {
8832
10.2k
        return unexpected(result.error());
8833
10.2k
    }
8834
990
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8835
11.1k
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > > > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >&&, std::__1::tuple<std::__1::basic_string_view<char, std::__1::char_traits<char> > >&&)
Line
Count
Source
8830
111k
{
8831
111k
    if (SCN_UNLIKELY(!result)) {
8832
22.6k
        return unexpected(result.error());
8833
22.6k
    }
8834
89.2k
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8835
111k
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >&&, std::__1::tuple<wchar_t>&&)
Line
Count
Source
8830
22.3k
{
8831
22.3k
    if (SCN_UNLIKELY(!result)) {
8832
22.2k
        return unexpected(result.error());
8833
22.2k
    }
8834
96
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8835
22.3k
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >&&, std::__1::tuple<bool>&&)
Line
Count
Source
8830
22.3k
{
8831
22.3k
    if (SCN_UNLIKELY(!result)) {
8832
22.3k
        return unexpected(result.error());
8833
22.3k
    }
8834
0
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8835
22.3k
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >&&, std::__1::tuple<void*>&&)
Line
Count
Source
8830
22.3k
{
8831
22.3k
    if (SCN_UNLIKELY(!result)) {
8832
22.3k
        return unexpected(result.error());
8833
22.3k
    }
8834
0
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8835
22.3k
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >&&, std::__1::tuple<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
8830
22.3k
{
8831
22.3k
    if (SCN_UNLIKELY(!result)) {
8832
21.9k
        return unexpected(result.error());
8833
21.9k
    }
8834
474
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8835
22.3k
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > > > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >&&, std::__1::tuple<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >&&)
Line
Count
Source
8830
714k
{
8831
714k
    if (SCN_UNLIKELY(!result)) {
8832
46.7k
        return unexpected(result.error());
8833
46.7k
    }
8834
667k
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8835
714k
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >&&, std::__1::tuple<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >&&)
Line
Count
Source
8830
714k
{
8831
714k
    if (SCN_UNLIKELY(!result)) {
8832
46.7k
        return unexpected(result.error());
8833
46.7k
    }
8834
667k
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8835
714k
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > >&&, std::__1::tuple<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
8830
123k
{
8831
123k
    if (SCN_UNLIKELY(!result)) {
8832
12.3k
        return unexpected(result.error());
8833
12.3k
    }
8834
110k
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8835
123k
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > > > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > >&&, std::__1::tuple<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >&&)
Line
Count
Source
8830
691k
{
8831
691k
    if (SCN_UNLIKELY(!result)) {
8832
24.7k
        return unexpected(result.error());
8833
24.7k
    }
8834
666k
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8835
691k
}
8836
8837
/**
8838
 * The return type of `scan`, based on the type of the source, and the
8839
 * types of the scanned arguments.
8840
 */
8841
template <typename Source, typename... Args>
8842
using scan_result_type =
8843
    scan_expected<scan_result<detail::scan_result_value_type<Source>, Args...>>;
8844
8845
/**
8846
 * \defgroup scan Basic scanning API
8847
 *
8848
 * \brief The core public-facing interface of the library
8849
 *
8850
 * The following functions use a format string syntax similar to that of
8851
 * `std::format`. See more at \ref format-string.
8852
 *
8853
 * When these functions take a `source` as input, it must
8854
 * model the `scannable_source` concept. See more at \ref scannable.
8855
 */
8856
8857
/**
8858
 * Scans `Args...` from `source`, according to the
8859
 * specifications given in the format string (`format`).
8860
 * Returns the resulting values in an object of type `scan_result`,
8861
 * alongside a `subrange` pointing to the unused input.
8862
 *
8863
 * Example:
8864
 * \code{.cpp}
8865
 * if (auto result = scn::scan<int>("123", "{}"))
8866
 *     int value = result->value();
8867
 * \endcode
8868
 *
8869
 * \ingroup scan
8870
 */
8871
template <typename... Args,
8872
          typename Source,
8873
          typename = std::enable_if_t<detail::is_file_or_narrow_range<Source>>>
8874
SCN_NODISCARD auto scan(Source&& source,
8875
                        scan_format_string<Source, Args...> format)
8876
    -> scan_result_type<Source, Args...>
8877
1.64M
{
8878
1.64M
    auto args = make_scan_args<scan_context, Args...>();
8879
1.64M
    auto result = vscan(SCN_FWD(source), format, args);
8880
1.64M
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8881
1.64M
}
_ZN3scn2v34scanIJaENS0_6ranges6detail9subrange_8subrangeIPKcS7_EEvEENS0_13scan_expectedINS0_11scan_resultINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESH_NS0_6detail22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEJDpT_EEEEEOSD_NS0_24basic_scan_format_stringIcNSI_13type_identityISD_E4typeEJDpNSU_ISO_E4typeEEEE
Line
Count
Source
8877
34.5k
{
8878
34.5k
    auto args = make_scan_args<scan_context, Args...>();
8879
34.5k
    auto result = vscan(SCN_FWD(source), format, args);
8880
34.5k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8881
34.5k
}
_ZN3scn2v34scanIJhENS0_6ranges6detail9subrange_8subrangeIPKcS7_EEvEENS0_13scan_expectedINS0_11scan_resultINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESH_NS0_6detail22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEJDpT_EEEEEOSD_NS0_24basic_scan_format_stringIcNSI_13type_identityISD_E4typeEJDpNSU_ISO_E4typeEEEE
Line
Count
Source
8877
30.4k
{
8878
30.4k
    auto args = make_scan_args<scan_context, Args...>();
8879
30.4k
    auto result = vscan(SCN_FWD(source), format, args);
8880
30.4k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8881
30.4k
}
_ZN3scn2v34scanIJiENS0_6ranges6detail9subrange_8subrangeIPKcS7_EEvEENS0_13scan_expectedINS0_11scan_resultINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESH_NS0_6detail22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEJDpT_EEEEEOSD_NS0_24basic_scan_format_stringIcNSI_13type_identityISD_E4typeEJDpNSU_ISO_E4typeEEEE
Line
Count
Source
8877
40.3k
{
8878
40.3k
    auto args = make_scan_args<scan_context, Args...>();
8879
40.3k
    auto result = vscan(SCN_FWD(source), format, args);
8880
40.3k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8881
40.3k
}
_ZN3scn2v34scanIJjENS0_6ranges6detail9subrange_8subrangeIPKcS7_EEvEENS0_13scan_expectedINS0_11scan_resultINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESH_NS0_6detail22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEJDpT_EEEEEOSD_NS0_24basic_scan_format_stringIcNSI_13type_identityISD_E4typeEJDpNSU_ISO_E4typeEEEE
Line
Count
Source
8877
32.9k
{
8878
32.9k
    auto args = make_scan_args<scan_context, Args...>();
8879
32.9k
    auto result = vscan(SCN_FWD(source), format, args);
8880
32.9k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8881
32.9k
}
_ZN3scn2v34scanIJxENS0_6ranges6detail9subrange_8subrangeIPKcS7_EEvEENS0_13scan_expectedINS0_11scan_resultINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESH_NS0_6detail22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEJDpT_EEEEEOSD_NS0_24basic_scan_format_stringIcNSI_13type_identityISD_E4typeEJDpNSU_ISO_E4typeEEEE
Line
Count
Source
8877
41.0k
{
8878
41.0k
    auto args = make_scan_args<scan_context, Args...>();
8879
41.0k
    auto result = vscan(SCN_FWD(source), format, args);
8880
41.0k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8881
41.0k
}
_ZN3scn2v34scanIJyENS0_6ranges6detail9subrange_8subrangeIPKcS7_EEvEENS0_13scan_expectedINS0_11scan_resultINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESH_NS0_6detail22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEJDpT_EEEEEOSD_NS0_24basic_scan_format_stringIcNSI_13type_identityISD_E4typeEJDpNSU_ISO_E4typeEEEE
Line
Count
Source
8877
33.3k
{
8878
33.3k
    auto args = make_scan_args<scan_context, Args...>();
8879
33.3k
    auto result = vscan(SCN_FWD(source), format, args);
8880
33.3k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8881
33.3k
}
_ZN3scn2v34scanIJaENS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS8_PKS9_lLl4096EEESD_EEvEENS0_13scan_expectedINS0_11scan_resultINS6_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESM_NS0_6detail22borrowed_tail_subrangeISI_Xsr6rangesE14borrowed_rangeISI_EEE4typeEE4typeEJDpT_EEEEEOSI_NS0_24basic_scan_format_stringIcNSN_13type_identityISI_E4typeEJDpNSZ_IST_E4typeEEEE
Line
Count
Source
8877
34.5k
{
8878
34.5k
    auto args = make_scan_args<scan_context, Args...>();
8879
34.5k
    auto result = vscan(SCN_FWD(source), format, args);
8880
34.5k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8881
34.5k
}
_ZN3scn2v34scanIJhENS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS8_PKS9_lLl4096EEESD_EEvEENS0_13scan_expectedINS0_11scan_resultINS6_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESM_NS0_6detail22borrowed_tail_subrangeISI_Xsr6rangesE14borrowed_rangeISI_EEE4typeEE4typeEJDpT_EEEEEOSI_NS0_24basic_scan_format_stringIcNSN_13type_identityISI_E4typeEJDpNSZ_IST_E4typeEEEE
Line
Count
Source
8877
30.4k
{
8878
30.4k
    auto args = make_scan_args<scan_context, Args...>();
8879
30.4k
    auto result = vscan(SCN_FWD(source), format, args);
8880
30.4k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8881
30.4k
}
_ZN3scn2v34scanIJiENS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS8_PKS9_lLl4096EEESD_EEvEENS0_13scan_expectedINS0_11scan_resultINS6_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESM_NS0_6detail22borrowed_tail_subrangeISI_Xsr6rangesE14borrowed_rangeISI_EEE4typeEE4typeEJDpT_EEEEEOSI_NS0_24basic_scan_format_stringIcNSN_13type_identityISI_E4typeEJDpNSZ_IST_E4typeEEEE
Line
Count
Source
8877
40.1k
{
8878
40.1k
    auto args = make_scan_args<scan_context, Args...>();
8879
40.1k
    auto result = vscan(SCN_FWD(source), format, args);
8880
40.1k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8881
40.1k
}
_ZN3scn2v34scanIJjENS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS8_PKS9_lLl4096EEESD_EEvEENS0_13scan_expectedINS0_11scan_resultINS6_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESM_NS0_6detail22borrowed_tail_subrangeISI_Xsr6rangesE14borrowed_rangeISI_EEE4typeEE4typeEJDpT_EEEEEOSI_NS0_24basic_scan_format_stringIcNSN_13type_identityISI_E4typeEJDpNSZ_IST_E4typeEEEE
Line
Count
Source
8877
32.9k
{
8878
32.9k
    auto args = make_scan_args<scan_context, Args...>();
8879
32.9k
    auto result = vscan(SCN_FWD(source), format, args);
8880
32.9k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8881
32.9k
}
_ZN3scn2v34scanIJxENS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS8_PKS9_lLl4096EEESD_EEvEENS0_13scan_expectedINS0_11scan_resultINS6_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESM_NS0_6detail22borrowed_tail_subrangeISI_Xsr6rangesE14borrowed_rangeISI_EEE4typeEE4typeEJDpT_EEEEEOSI_NS0_24basic_scan_format_stringIcNSN_13type_identityISI_E4typeEJDpNSZ_IST_E4typeEEEE
Line
Count
Source
8877
40.8k
{
8878
40.8k
    auto args = make_scan_args<scan_context, Args...>();
8879
40.8k
    auto result = vscan(SCN_FWD(source), format, args);
8880
40.8k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8881
40.8k
}
_ZN3scn2v34scanIJyENS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS8_PKS9_lLl4096EEESD_EEvEENS0_13scan_expectedINS0_11scan_resultINS6_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESM_NS0_6detail22borrowed_tail_subrangeISI_Xsr6rangesE14borrowed_rangeISI_EEE4typeEE4typeEJDpT_EEEEEOSI_NS0_24basic_scan_format_stringIcNSN_13type_identityISI_E4typeEJDpNSZ_IST_E4typeEEEE
Line
Count
Source
8877
33.3k
{
8878
33.3k
    auto args = make_scan_args<scan_context, Args...>();
8879
33.3k
    auto result = vscan(SCN_FWD(source), format, args);
8880
33.3k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8881
33.3k
}
_ZN3scn2v34scanIJfENS0_6ranges6detail9subrange_8subrangeIPKcS7_EEvEENS0_13scan_expectedINS0_11scan_resultINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESH_NS0_6detail22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEJDpT_EEEEEOSD_NS0_24basic_scan_format_stringIcNSI_13type_identityISD_E4typeEJDpNSU_ISO_E4typeEEEE
Line
Count
Source
8877
152k
{
8878
152k
    auto args = make_scan_args<scan_context, Args...>();
8879
152k
    auto result = vscan(SCN_FWD(source), format, args);
8880
152k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8881
152k
}
_ZN3scn2v34scanIJdENS0_6ranges6detail9subrange_8subrangeIPKcS7_EEvEENS0_13scan_expectedINS0_11scan_resultINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESH_NS0_6detail22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEJDpT_EEEEEOSD_NS0_24basic_scan_format_stringIcNSI_13type_identityISD_E4typeEJDpNSU_ISO_E4typeEEEE
Line
Count
Source
8877
156k
{
8878
156k
    auto args = make_scan_args<scan_context, Args...>();
8879
156k
    auto result = vscan(SCN_FWD(source), format, args);
8880
156k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8881
156k
}
_ZN3scn2v34scanIJeENS0_6ranges6detail9subrange_8subrangeIPKcS7_EEvEENS0_13scan_expectedINS0_11scan_resultINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESH_NS0_6detail22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEJDpT_EEEEEOSD_NS0_24basic_scan_format_stringIcNSI_13type_identityISD_E4typeEJDpNSU_ISO_E4typeEEEE
Line
Count
Source
8877
159k
{
8878
159k
    auto args = make_scan_args<scan_context, Args...>();
8879
159k
    auto result = vscan(SCN_FWD(source), format, args);
8880
159k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8881
159k
}
_ZN3scn2v34scanIJfENS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS8_PKS9_lLl4096EEESD_EEvEENS0_13scan_expectedINS0_11scan_resultINS6_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESM_NS0_6detail22borrowed_tail_subrangeISI_Xsr6rangesE14borrowed_rangeISI_EEE4typeEE4typeEJDpT_EEEEEOSI_NS0_24basic_scan_format_stringIcNSN_13type_identityISI_E4typeEJDpNSZ_IST_E4typeEEEE
Line
Count
Source
8877
174k
{
8878
174k
    auto args = make_scan_args<scan_context, Args...>();
8879
174k
    auto result = vscan(SCN_FWD(source), format, args);
8880
174k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8881
174k
}
_ZN3scn2v34scanIJdENS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS8_PKS9_lLl4096EEESD_EEvEENS0_13scan_expectedINS0_11scan_resultINS6_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESM_NS0_6detail22borrowed_tail_subrangeISI_Xsr6rangesE14borrowed_rangeISI_EEE4typeEE4typeEJDpT_EEEEEOSI_NS0_24basic_scan_format_stringIcNSN_13type_identityISI_E4typeEJDpNSZ_IST_E4typeEEEE
Line
Count
Source
8877
181k
{
8878
181k
    auto args = make_scan_args<scan_context, Args...>();
8879
181k
    auto result = vscan(SCN_FWD(source), format, args);
8880
181k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8881
181k
}
_ZN3scn2v34scanIJeENS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS8_PKS9_lLl4096EEESD_EEvEENS0_13scan_expectedINS0_11scan_resultINS6_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESM_NS0_6detail22borrowed_tail_subrangeISI_Xsr6rangesE14borrowed_rangeISI_EEE4typeEE4typeEJDpT_EEEEEOSI_NS0_24basic_scan_format_stringIcNSN_13type_identityISI_E4typeEJDpNSZ_IST_E4typeEEEE
Line
Count
Source
8877
184k
{
8878
184k
    auto args = make_scan_args<scan_context, Args...>();
8879
184k
    auto result = vscan(SCN_FWD(source), format, args);
8880
184k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8881
184k
}
_ZN3scn2v34scanIJcERNSt3__117basic_string_viewIcNS2_11char_traitsIcEEEEvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESF_NS0_6detail22borrowed_tail_subrangeISB_Xsr6rangesE14borrowed_rangeISB_EEE4typeEE4typeEJDpT_EEEEEOSB_NS0_24basic_scan_format_stringIcNSG_13type_identityISB_E4typeEJDpNSS_ISM_E4typeEEEE
Line
Count
Source
8877
5.59k
{
8878
5.59k
    auto args = make_scan_args<scan_context, Args...>();
8879
5.59k
    auto result = vscan(SCN_FWD(source), format, args);
8880
5.59k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8881
5.59k
}
_ZN3scn2v34scanIJiERNSt3__117basic_string_viewIcNS2_11char_traitsIcEEEEvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESF_NS0_6detail22borrowed_tail_subrangeISB_Xsr6rangesE14borrowed_rangeISB_EEE4typeEE4typeEJDpT_EEEEEOSB_NS0_24basic_scan_format_stringIcNSG_13type_identityISB_E4typeEJDpNSS_ISM_E4typeEEEE
Line
Count
Source
8877
5.59k
{
8878
5.59k
    auto args = make_scan_args<scan_context, Args...>();
8879
5.59k
    auto result = vscan(SCN_FWD(source), format, args);
8880
5.59k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8881
5.59k
}
_ZN3scn2v34scanIJjERNSt3__117basic_string_viewIcNS2_11char_traitsIcEEEEvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESF_NS0_6detail22borrowed_tail_subrangeISB_Xsr6rangesE14borrowed_rangeISB_EEE4typeEE4typeEJDpT_EEEEEOSB_NS0_24basic_scan_format_stringIcNSG_13type_identityISB_E4typeEJDpNSS_ISM_E4typeEEEE
Line
Count
Source
8877
5.59k
{
8878
5.59k
    auto args = make_scan_args<scan_context, Args...>();
8879
5.59k
    auto result = vscan(SCN_FWD(source), format, args);
8880
5.59k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8881
5.59k
}
_ZN3scn2v34scanIJdERNSt3__117basic_string_viewIcNS2_11char_traitsIcEEEEvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESF_NS0_6detail22borrowed_tail_subrangeISB_Xsr6rangesE14borrowed_rangeISB_EEE4typeEE4typeEJDpT_EEEEEOSB_NS0_24basic_scan_format_stringIcNSG_13type_identityISB_E4typeEJDpNSS_ISM_E4typeEEEE
Line
Count
Source
8877
5.59k
{
8878
5.59k
    auto args = make_scan_args<scan_context, Args...>();
8879
5.59k
    auto result = vscan(SCN_FWD(source), format, args);
8880
5.59k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8881
5.59k
}
_ZN3scn2v34scanIJbERNSt3__117basic_string_viewIcNS2_11char_traitsIcEEEEvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESF_NS0_6detail22borrowed_tail_subrangeISB_Xsr6rangesE14borrowed_rangeISB_EEE4typeEE4typeEJDpT_EEEEEOSB_NS0_24basic_scan_format_stringIcNSG_13type_identityISB_E4typeEJDpNSS_ISM_E4typeEEEE
Line
Count
Source
8877
5.59k
{
8878
5.59k
    auto args = make_scan_args<scan_context, Args...>();
8879
5.59k
    auto result = vscan(SCN_FWD(source), format, args);
8880
5.59k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8881
5.59k
}
_ZN3scn2v34scanIJPvERNSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEvEENS0_13scan_expectedINS0_11scan_resultINS3_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESG_NS0_6detail22borrowed_tail_subrangeISC_Xsr6rangesE14borrowed_rangeISC_EEE4typeEE4typeEJDpT_EEEEEOSC_NS0_24basic_scan_format_stringIcNSH_13type_identityISC_E4typeEJDpNST_ISN_E4typeEEEE
Line
Count
Source
8877
5.59k
{
8878
5.59k
    auto args = make_scan_args<scan_context, Args...>();
8879
5.59k
    auto result = vscan(SCN_FWD(source), format, args);
8880
5.59k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8881
5.59k
}
_ZN3scn2v34scanIJNSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEEERNS2_17basic_string_viewIcS5_EEvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESJ_NS0_6detail22borrowed_tail_subrangeISF_Xsr6rangesE14borrowed_rangeISF_EEE4typeEE4typeEJDpT_EEEEEOSF_NS0_24basic_scan_format_stringIcNSK_13type_identityISF_E4typeEJDpNSW_ISQ_E4typeEEEE
Line
Count
Source
8877
5.59k
{
8878
5.59k
    auto args = make_scan_args<scan_context, Args...>();
8879
5.59k
    auto result = vscan(SCN_FWD(source), format, args);
8880
5.59k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8881
5.59k
}
_ZN3scn2v34scanIJNSt3__112basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEEERNS2_17basic_string_viewIcNS4_IcEEEEvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESK_NS0_6detail22borrowed_tail_subrangeISG_Xsr6rangesE14borrowed_rangeISG_EEE4typeEE4typeEJDpT_EEEEEOSG_NS0_24basic_scan_format_stringIcNSL_13type_identityISG_E4typeEJDpNSX_ISR_E4typeEEEE
Line
Count
Source
8877
5.59k
{
8878
5.59k
    auto args = make_scan_args<scan_context, Args...>();
8879
5.59k
    auto result = vscan(SCN_FWD(source), format, args);
8880
5.59k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8881
5.59k
}
_ZN3scn2v34scanIJNSt3__117basic_string_viewIcNS2_11char_traitsIcEEEEERS6_vEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESF_NS0_6detail22borrowed_tail_subrangeISB_Xsr6rangesE14borrowed_rangeISB_EEE4typeEE4typeEJDpT_EEEEEOSB_NS0_24basic_scan_format_stringIcNSG_13type_identityISB_E4typeEJDpNSS_ISM_E4typeEEEE
Line
Count
Source
8877
5.59k
{
8878
5.59k
    auto args = make_scan_args<scan_context, Args...>();
8879
5.59k
    auto result = vscan(SCN_FWD(source), format, args);
8880
5.59k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8881
5.59k
}
_ZN3scn2v34scanIJNSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EEvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESN_NS0_6detail22borrowed_tail_subrangeISJ_Xsr6rangesE14borrowed_rangeISJ_EEE4typeEE4typeEJDpT_EEEEEOSJ_NS0_24basic_scan_format_stringIcNSO_13type_identityISJ_E4typeEJDpNS10_ISU_E4typeEEEE
Line
Count
Source
8877
50.3k
{
8878
50.3k
    auto args = make_scan_args<scan_context, Args...>();
8879
50.3k
    auto result = vscan(SCN_FWD(source), format, args);
8880
50.3k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8881
50.3k
}
_ZN3scn2v34scanIJNSt3__117basic_string_viewIcNS2_11char_traitsIcEEEEENS0_6ranges6detail9subrange_8subrangeIPKcSC_EEvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESL_NS0_6detail22borrowed_tail_subrangeISH_Xsr6rangesE14borrowed_rangeISH_EEE4typeEE4typeEJDpT_EEEEEOSH_NS0_24basic_scan_format_stringIcNSM_13type_identityISH_E4typeEJDpNSY_ISS_E4typeEEEE
Line
Count
Source
8877
50.3k
{
8878
50.3k
    auto args = make_scan_args<scan_context, Args...>();
8879
50.3k
    auto result = vscan(SCN_FWD(source), format, args);
8880
50.3k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8881
50.3k
}
_ZN3scn2v34scanIJNSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEEENS0_6ranges6detail9subrange_8subrangeINS2_16__deque_iteratorIcPKcRSE_PKSF_lLl4096EEESJ_EEvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESS_NS0_6detail22borrowed_tail_subrangeISO_Xsr6rangesE14borrowed_rangeISO_EEE4typeEE4typeEJDpT_EEEEEOSO_NS0_24basic_scan_format_stringIcNST_13type_identityISO_E4typeEJDpNS15_ISZ_E4typeEEEE
Line
Count
Source
8877
61.6k
{
8878
61.6k
    auto args = make_scan_args<scan_context, Args...>();
8879
61.6k
    auto result = vscan(SCN_FWD(source), format, args);
8880
61.6k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8881
61.6k
}
8882
8883
/**
8884
 * `scan` with explicitly supplied default values
8885
 *
8886
 * Can be used, for example, for pre-allocating a scanned string:
8887
 *
8888
 * \code{.cpp}
8889
 * std::string str;
8890
 * str.reserve(64);
8891
 *
8892
 * // As long as the read string fits in `str`,
8893
 * // does not allocate
8894
 * auto result = scn::scan<std::string>(source, "{}",
8895
 *                                      {std::move(str)});
8896
 * // Access the read string with result->value()
8897
 * \endcode
8898
 *
8899
 * \ingroup scan
8900
 */
8901
template <typename... Args,
8902
          typename Source,
8903
          typename = std::enable_if_t<detail::is_file_or_narrow_range<Source>>>
8904
SCN_NODISCARD auto scan(Source&& source,
8905
                        scan_format_string<Source, Args...> format,
8906
                        std::tuple<Args...>&& initial_args)
8907
    -> scan_result_type<Source, Args...>
8908
{
8909
    auto args = make_scan_args<scan_context, Args...>(SCN_FWD(initial_args));
8910
    auto result = vscan(SCN_FWD(source), format, args);
8911
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8912
}
8913
8914
/**
8915
 * \defgroup locale Localization
8916
 *
8917
 * \brief Scanning APIs that allow passing in a locale
8918
 */
8919
8920
/**
8921
 * `scan` using an explicit locale.
8922
 *
8923
 * Has no effect on its own, locale-specific scanning still needs to be
8924
 * opted-into on an argument-by-argument basis, with the `L` format string
8925
 * specifier.
8926
 *
8927
 * \code{.cpp}
8928
 * auto result = scn::scan<double>(
8929
 *     std::locale{"fi_FI.UTF-8"}, "3,14, "{:L}");
8930
 * // result->value() == 3.14
8931
 * \endcode
8932
 *
8933
 * \ingroup locale
8934
 */
8935
template <typename... Args,
8936
          typename Locale,
8937
          typename Source,
8938
          typename = std::enable_if_t<detail::is_file_or_narrow_range<Source>>,
8939
          typename = std::void_t<decltype(Locale::classic())>>
8940
SCN_NODISCARD auto scan(const Locale& loc,
8941
                        Source&& source,
8942
                        scan_format_string<Source, Args...> format)
8943
    -> scan_result_type<Source, Args...>
8944
1.64M
{
8945
1.64M
    auto args = make_scan_args<scan_context, Args...>();
8946
1.64M
    auto result = vscan(loc, SCN_FWD(source), format, args);
8947
1.64M
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8948
1.64M
}
_ZN3scn2v34scanIJaENSt3__16localeENS0_6ranges6detail9subrange_8subrangeIPKcS9_EEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESI_NS0_6detail22borrowed_tail_subrangeISE_Xsr6rangesE14borrowed_rangeISE_EEE4typeEE4typeEJDpT_EEEEERKT0_OSE_NS0_24basic_scan_format_stringIcNSJ_13type_identityISE_E4typeEJDpNSY_ISP_E4typeEEEE
Line
Count
Source
8944
34.5k
{
8945
34.5k
    auto args = make_scan_args<scan_context, Args...>();
8946
34.5k
    auto result = vscan(loc, SCN_FWD(source), format, args);
8947
34.5k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8948
34.5k
}
_ZN3scn2v34scanIJhENSt3__16localeENS0_6ranges6detail9subrange_8subrangeIPKcS9_EEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESI_NS0_6detail22borrowed_tail_subrangeISE_Xsr6rangesE14borrowed_rangeISE_EEE4typeEE4typeEJDpT_EEEEERKT0_OSE_NS0_24basic_scan_format_stringIcNSJ_13type_identityISE_E4typeEJDpNSY_ISP_E4typeEEEE
Line
Count
Source
8944
30.4k
{
8945
30.4k
    auto args = make_scan_args<scan_context, Args...>();
8946
30.4k
    auto result = vscan(loc, SCN_FWD(source), format, args);
8947
30.4k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8948
30.4k
}
_ZN3scn2v34scanIJiENSt3__16localeENS0_6ranges6detail9subrange_8subrangeIPKcS9_EEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESI_NS0_6detail22borrowed_tail_subrangeISE_Xsr6rangesE14borrowed_rangeISE_EEE4typeEE4typeEJDpT_EEEEERKT0_OSE_NS0_24basic_scan_format_stringIcNSJ_13type_identityISE_E4typeEJDpNSY_ISP_E4typeEEEE
Line
Count
Source
8944
40.3k
{
8945
40.3k
    auto args = make_scan_args<scan_context, Args...>();
8946
40.3k
    auto result = vscan(loc, SCN_FWD(source), format, args);
8947
40.3k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8948
40.3k
}
_ZN3scn2v34scanIJjENSt3__16localeENS0_6ranges6detail9subrange_8subrangeIPKcS9_EEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESI_NS0_6detail22borrowed_tail_subrangeISE_Xsr6rangesE14borrowed_rangeISE_EEE4typeEE4typeEJDpT_EEEEERKT0_OSE_NS0_24basic_scan_format_stringIcNSJ_13type_identityISE_E4typeEJDpNSY_ISP_E4typeEEEE
Line
Count
Source
8944
32.9k
{
8945
32.9k
    auto args = make_scan_args<scan_context, Args...>();
8946
32.9k
    auto result = vscan(loc, SCN_FWD(source), format, args);
8947
32.9k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8948
32.9k
}
_ZN3scn2v34scanIJxENSt3__16localeENS0_6ranges6detail9subrange_8subrangeIPKcS9_EEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESI_NS0_6detail22borrowed_tail_subrangeISE_Xsr6rangesE14borrowed_rangeISE_EEE4typeEE4typeEJDpT_EEEEERKT0_OSE_NS0_24basic_scan_format_stringIcNSJ_13type_identityISE_E4typeEJDpNSY_ISP_E4typeEEEE
Line
Count
Source
8944
41.0k
{
8945
41.0k
    auto args = make_scan_args<scan_context, Args...>();
8946
41.0k
    auto result = vscan(loc, SCN_FWD(source), format, args);
8947
41.0k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8948
41.0k
}
_ZN3scn2v34scanIJyENSt3__16localeENS0_6ranges6detail9subrange_8subrangeIPKcS9_EEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESI_NS0_6detail22borrowed_tail_subrangeISE_Xsr6rangesE14borrowed_rangeISE_EEE4typeEE4typeEJDpT_EEEEERKT0_OSE_NS0_24basic_scan_format_stringIcNSJ_13type_identityISE_E4typeEJDpNSY_ISP_E4typeEEEE
Line
Count
Source
8944
33.3k
{
8945
33.3k
    auto args = make_scan_args<scan_context, Args...>();
8946
33.3k
    auto result = vscan(loc, SCN_FWD(source), format, args);
8947
33.3k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8948
33.3k
}
_ZN3scn2v34scanIJaENSt3__16localeENS0_6ranges6detail9subrange_8subrangeINS2_16__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESN_NS0_6detail22borrowed_tail_subrangeISJ_Xsr6rangesE14borrowed_rangeISJ_EEE4typeEE4typeEJDpT_EEEEERKT0_OSJ_NS0_24basic_scan_format_stringIcNSO_13type_identityISJ_E4typeEJDpNS13_ISU_E4typeEEEE
Line
Count
Source
8944
34.5k
{
8945
34.5k
    auto args = make_scan_args<scan_context, Args...>();
8946
34.5k
    auto result = vscan(loc, SCN_FWD(source), format, args);
8947
34.5k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8948
34.5k
}
_ZN3scn2v34scanIJhENSt3__16localeENS0_6ranges6detail9subrange_8subrangeINS2_16__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESN_NS0_6detail22borrowed_tail_subrangeISJ_Xsr6rangesE14borrowed_rangeISJ_EEE4typeEE4typeEJDpT_EEEEERKT0_OSJ_NS0_24basic_scan_format_stringIcNSO_13type_identityISJ_E4typeEJDpNS13_ISU_E4typeEEEE
Line
Count
Source
8944
30.4k
{
8945
30.4k
    auto args = make_scan_args<scan_context, Args...>();
8946
30.4k
    auto result = vscan(loc, SCN_FWD(source), format, args);
8947
30.4k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8948
30.4k
}
_ZN3scn2v34scanIJiENSt3__16localeENS0_6ranges6detail9subrange_8subrangeINS2_16__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESN_NS0_6detail22borrowed_tail_subrangeISJ_Xsr6rangesE14borrowed_rangeISJ_EEE4typeEE4typeEJDpT_EEEEERKT0_OSJ_NS0_24basic_scan_format_stringIcNSO_13type_identityISJ_E4typeEJDpNS13_ISU_E4typeEEEE
Line
Count
Source
8944
40.1k
{
8945
40.1k
    auto args = make_scan_args<scan_context, Args...>();
8946
40.1k
    auto result = vscan(loc, SCN_FWD(source), format, args);
8947
40.1k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8948
40.1k
}
_ZN3scn2v34scanIJjENSt3__16localeENS0_6ranges6detail9subrange_8subrangeINS2_16__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESN_NS0_6detail22borrowed_tail_subrangeISJ_Xsr6rangesE14borrowed_rangeISJ_EEE4typeEE4typeEJDpT_EEEEERKT0_OSJ_NS0_24basic_scan_format_stringIcNSO_13type_identityISJ_E4typeEJDpNS13_ISU_E4typeEEEE
Line
Count
Source
8944
32.9k
{
8945
32.9k
    auto args = make_scan_args<scan_context, Args...>();
8946
32.9k
    auto result = vscan(loc, SCN_FWD(source), format, args);
8947
32.9k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8948
32.9k
}
_ZN3scn2v34scanIJxENSt3__16localeENS0_6ranges6detail9subrange_8subrangeINS2_16__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESN_NS0_6detail22borrowed_tail_subrangeISJ_Xsr6rangesE14borrowed_rangeISJ_EEE4typeEE4typeEJDpT_EEEEERKT0_OSJ_NS0_24basic_scan_format_stringIcNSO_13type_identityISJ_E4typeEJDpNS13_ISU_E4typeEEEE
Line
Count
Source
8944
40.8k
{
8945
40.8k
    auto args = make_scan_args<scan_context, Args...>();
8946
40.8k
    auto result = vscan(loc, SCN_FWD(source), format, args);
8947
40.8k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8948
40.8k
}
_ZN3scn2v34scanIJyENSt3__16localeENS0_6ranges6detail9subrange_8subrangeINS2_16__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESN_NS0_6detail22borrowed_tail_subrangeISJ_Xsr6rangesE14borrowed_rangeISJ_EEE4typeEE4typeEJDpT_EEEEERKT0_OSJ_NS0_24basic_scan_format_stringIcNSO_13type_identityISJ_E4typeEJDpNS13_ISU_E4typeEEEE
Line
Count
Source
8944
33.3k
{
8945
33.3k
    auto args = make_scan_args<scan_context, Args...>();
8946
33.3k
    auto result = vscan(loc, SCN_FWD(source), format, args);
8947
33.3k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8948
33.3k
}
_ZN3scn2v34scanIJfENSt3__16localeENS0_6ranges6detail9subrange_8subrangeIPKcS9_EEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESI_NS0_6detail22borrowed_tail_subrangeISE_Xsr6rangesE14borrowed_rangeISE_EEE4typeEE4typeEJDpT_EEEEERKT0_OSE_NS0_24basic_scan_format_stringIcNSJ_13type_identityISE_E4typeEJDpNSY_ISP_E4typeEEEE
Line
Count
Source
8944
152k
{
8945
152k
    auto args = make_scan_args<scan_context, Args...>();
8946
152k
    auto result = vscan(loc, SCN_FWD(source), format, args);
8947
152k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8948
152k
}
_ZN3scn2v34scanIJdENSt3__16localeENS0_6ranges6detail9subrange_8subrangeIPKcS9_EEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESI_NS0_6detail22borrowed_tail_subrangeISE_Xsr6rangesE14borrowed_rangeISE_EEE4typeEE4typeEJDpT_EEEEERKT0_OSE_NS0_24basic_scan_format_stringIcNSJ_13type_identityISE_E4typeEJDpNSY_ISP_E4typeEEEE
Line
Count
Source
8944
156k
{
8945
156k
    auto args = make_scan_args<scan_context, Args...>();
8946
156k
    auto result = vscan(loc, SCN_FWD(source), format, args);
8947
156k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8948
156k
}
_ZN3scn2v34scanIJeENSt3__16localeENS0_6ranges6detail9subrange_8subrangeIPKcS9_EEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESI_NS0_6detail22borrowed_tail_subrangeISE_Xsr6rangesE14borrowed_rangeISE_EEE4typeEE4typeEJDpT_EEEEERKT0_OSE_NS0_24basic_scan_format_stringIcNSJ_13type_identityISE_E4typeEJDpNSY_ISP_E4typeEEEE
Line
Count
Source
8944
159k
{
8945
159k
    auto args = make_scan_args<scan_context, Args...>();
8946
159k
    auto result = vscan(loc, SCN_FWD(source), format, args);
8947
159k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8948
159k
}
_ZN3scn2v34scanIJfENSt3__16localeENS0_6ranges6detail9subrange_8subrangeINS2_16__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESN_NS0_6detail22borrowed_tail_subrangeISJ_Xsr6rangesE14borrowed_rangeISJ_EEE4typeEE4typeEJDpT_EEEEERKT0_OSJ_NS0_24basic_scan_format_stringIcNSO_13type_identityISJ_E4typeEJDpNS13_ISU_E4typeEEEE
Line
Count
Source
8944
174k
{
8945
174k
    auto args = make_scan_args<scan_context, Args...>();
8946
174k
    auto result = vscan(loc, SCN_FWD(source), format, args);
8947
174k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8948
174k
}
_ZN3scn2v34scanIJdENSt3__16localeENS0_6ranges6detail9subrange_8subrangeINS2_16__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESN_NS0_6detail22borrowed_tail_subrangeISJ_Xsr6rangesE14borrowed_rangeISJ_EEE4typeEE4typeEJDpT_EEEEERKT0_OSJ_NS0_24basic_scan_format_stringIcNSO_13type_identityISJ_E4typeEJDpNS13_ISU_E4typeEEEE
Line
Count
Source
8944
181k
{
8945
181k
    auto args = make_scan_args<scan_context, Args...>();
8946
181k
    auto result = vscan(loc, SCN_FWD(source), format, args);
8947
181k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8948
181k
}
_ZN3scn2v34scanIJeENSt3__16localeENS0_6ranges6detail9subrange_8subrangeINS2_16__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESN_NS0_6detail22borrowed_tail_subrangeISJ_Xsr6rangesE14borrowed_rangeISJ_EEE4typeEE4typeEJDpT_EEEEERKT0_OSJ_NS0_24basic_scan_format_stringIcNSO_13type_identityISJ_E4typeEJDpNS13_ISU_E4typeEEEE
Line
Count
Source
8944
184k
{
8945
184k
    auto args = make_scan_args<scan_context, Args...>();
8946
184k
    auto result = vscan(loc, SCN_FWD(source), format, args);
8947
184k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8948
184k
}
_ZN3scn2v34scanIJcENSt3__16localeERNS2_17basic_string_viewIcNS2_11char_traitsIcEEEEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESG_NS0_6detail22borrowed_tail_subrangeISC_Xsr6rangesE14borrowed_rangeISC_EEE4typeEE4typeEJDpT_EEEEERKT0_OSC_NS0_24basic_scan_format_stringIcNSH_13type_identityISC_E4typeEJDpNSW_ISN_E4typeEEEE
Line
Count
Source
8944
5.59k
{
8945
5.59k
    auto args = make_scan_args<scan_context, Args...>();
8946
5.59k
    auto result = vscan(loc, SCN_FWD(source), format, args);
8947
5.59k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8948
5.59k
}
_ZN3scn2v34scanIJiENSt3__16localeERNS2_17basic_string_viewIcNS2_11char_traitsIcEEEEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESG_NS0_6detail22borrowed_tail_subrangeISC_Xsr6rangesE14borrowed_rangeISC_EEE4typeEE4typeEJDpT_EEEEERKT0_OSC_NS0_24basic_scan_format_stringIcNSH_13type_identityISC_E4typeEJDpNSW_ISN_E4typeEEEE
Line
Count
Source
8944
5.59k
{
8945
5.59k
    auto args = make_scan_args<scan_context, Args...>();
8946
5.59k
    auto result = vscan(loc, SCN_FWD(source), format, args);
8947
5.59k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8948
5.59k
}
_ZN3scn2v34scanIJjENSt3__16localeERNS2_17basic_string_viewIcNS2_11char_traitsIcEEEEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESG_NS0_6detail22borrowed_tail_subrangeISC_Xsr6rangesE14borrowed_rangeISC_EEE4typeEE4typeEJDpT_EEEEERKT0_OSC_NS0_24basic_scan_format_stringIcNSH_13type_identityISC_E4typeEJDpNSW_ISN_E4typeEEEE
Line
Count
Source
8944
5.59k
{
8945
5.59k
    auto args = make_scan_args<scan_context, Args...>();
8946
5.59k
    auto result = vscan(loc, SCN_FWD(source), format, args);
8947
5.59k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8948
5.59k
}
_ZN3scn2v34scanIJdENSt3__16localeERNS2_17basic_string_viewIcNS2_11char_traitsIcEEEEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESG_NS0_6detail22borrowed_tail_subrangeISC_Xsr6rangesE14borrowed_rangeISC_EEE4typeEE4typeEJDpT_EEEEERKT0_OSC_NS0_24basic_scan_format_stringIcNSH_13type_identityISC_E4typeEJDpNSW_ISN_E4typeEEEE
Line
Count
Source
8944
5.59k
{
8945
5.59k
    auto args = make_scan_args<scan_context, Args...>();
8946
5.59k
    auto result = vscan(loc, SCN_FWD(source), format, args);
8947
5.59k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8948
5.59k
}
_ZN3scn2v34scanIJbENSt3__16localeERNS2_17basic_string_viewIcNS2_11char_traitsIcEEEEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESG_NS0_6detail22borrowed_tail_subrangeISC_Xsr6rangesE14borrowed_rangeISC_EEE4typeEE4typeEJDpT_EEEEERKT0_OSC_NS0_24basic_scan_format_stringIcNSH_13type_identityISC_E4typeEJDpNSW_ISN_E4typeEEEE
Line
Count
Source
8944
5.59k
{
8945
5.59k
    auto args = make_scan_args<scan_context, Args...>();
8946
5.59k
    auto result = vscan(loc, SCN_FWD(source), format, args);
8947
5.59k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8948
5.59k
}
_ZN3scn2v34scanIJPvENSt3__16localeERNS3_17basic_string_viewIcNS3_11char_traitsIcEEEEvvEENS0_13scan_expectedINS0_11scan_resultINS3_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESH_NS0_6detail22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEJDpT_EEEEERKT0_OSD_NS0_24basic_scan_format_stringIcNSI_13type_identityISD_E4typeEJDpNSX_ISO_E4typeEEEE
Line
Count
Source
8944
5.59k
{
8945
5.59k
    auto args = make_scan_args<scan_context, Args...>();
8946
5.59k
    auto result = vscan(loc, SCN_FWD(source), format, args);
8947
5.59k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8948
5.59k
}
_ZN3scn2v34scanIJNSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEEENS2_6localeERNS2_17basic_string_viewIcS5_EEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESK_NS0_6detail22borrowed_tail_subrangeISG_Xsr6rangesE14borrowed_rangeISG_EEE4typeEE4typeEJDpT_EEEEERKT0_OSG_NS0_24basic_scan_format_stringIcNSL_13type_identityISG_E4typeEJDpNS10_ISR_E4typeEEEE
Line
Count
Source
8944
5.59k
{
8945
5.59k
    auto args = make_scan_args<scan_context, Args...>();
8946
5.59k
    auto result = vscan(loc, SCN_FWD(source), format, args);
8947
5.59k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8948
5.59k
}
_ZN3scn2v34scanIJNSt3__112basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEEENS2_6localeERNS2_17basic_string_viewIcNS4_IcEEEEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESL_NS0_6detail22borrowed_tail_subrangeISH_Xsr6rangesE14borrowed_rangeISH_EEE4typeEE4typeEJDpT_EEEEERKT0_OSH_NS0_24basic_scan_format_stringIcNSM_13type_identityISH_E4typeEJDpNS11_ISS_E4typeEEEE
Line
Count
Source
8944
5.59k
{
8945
5.59k
    auto args = make_scan_args<scan_context, Args...>();
8946
5.59k
    auto result = vscan(loc, SCN_FWD(source), format, args);
8947
5.59k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8948
5.59k
}
_ZN3scn2v34scanIJNSt3__117basic_string_viewIcNS2_11char_traitsIcEEEEENS2_6localeERS6_vvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESG_NS0_6detail22borrowed_tail_subrangeISC_Xsr6rangesE14borrowed_rangeISC_EEE4typeEE4typeEJDpT_EEEEERKT0_OSC_NS0_24basic_scan_format_stringIcNSH_13type_identityISC_E4typeEJDpNSW_ISN_E4typeEEEE
Line
Count
Source
8944
5.59k
{
8945
5.59k
    auto args = make_scan_args<scan_context, Args...>();
8946
5.59k
    auto result = vscan(loc, SCN_FWD(source), format, args);
8947
5.59k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8948
5.59k
}
_ZN3scn2v34scanIJNSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEEENS2_6localeENS0_6ranges6detail9subrange_8subrangeIPKcSF_EEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESO_NS0_6detail22borrowed_tail_subrangeISK_Xsr6rangesE14borrowed_rangeISK_EEE4typeEE4typeEJDpT_EEEEERKT0_OSK_NS0_24basic_scan_format_stringIcNSP_13type_identityISK_E4typeEJDpNS14_ISV_E4typeEEEE
Line
Count
Source
8944
50.3k
{
8945
50.3k
    auto args = make_scan_args<scan_context, Args...>();
8946
50.3k
    auto result = vscan(loc, SCN_FWD(source), format, args);
8947
50.3k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8948
50.3k
}
_ZN3scn2v34scanIJNSt3__117basic_string_viewIcNS2_11char_traitsIcEEEEENS2_6localeENS0_6ranges6detail9subrange_8subrangeIPKcSD_EEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESM_NS0_6detail22borrowed_tail_subrangeISI_Xsr6rangesE14borrowed_rangeISI_EEE4typeEE4typeEJDpT_EEEEERKT0_OSI_NS0_24basic_scan_format_stringIcNSN_13type_identityISI_E4typeEJDpNS12_IST_E4typeEEEE
Line
Count
Source
8944
50.3k
{
8945
50.3k
    auto args = make_scan_args<scan_context, Args...>();
8946
50.3k
    auto result = vscan(loc, SCN_FWD(source), format, args);
8947
50.3k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8948
50.3k
}
_ZN3scn2v34scanIJNSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEEENS2_6localeENS0_6ranges6detail9subrange_8subrangeINS2_16__deque_iteratorIcPKcRSF_PKSG_lLl4096EEESK_EEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEEST_NS0_6detail22borrowed_tail_subrangeISP_Xsr6rangesE14borrowed_rangeISP_EEE4typeEE4typeEJDpT_EEEEERKT0_OSP_NS0_24basic_scan_format_stringIcNSU_13type_identityISP_E4typeEJDpNS19_IS10_E4typeEEEE
Line
Count
Source
8944
61.6k
{
8945
61.6k
    auto args = make_scan_args<scan_context, Args...>();
8946
61.6k
    auto result = vscan(loc, SCN_FWD(source), format, args);
8947
61.6k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8948
61.6k
}
8949
8950
/**
8951
 * `scan` with a locale and default values
8952
 *
8953
 * \ingroup locale
8954
 */
8955
template <typename... Args,
8956
          typename Locale,
8957
          typename Source,
8958
          typename = std::enable_if_t<detail::is_file_or_narrow_range<Source>>,
8959
          typename = std::void_t<decltype(Locale::classic())>>
8960
SCN_NODISCARD auto scan(const Locale& loc,
8961
                        Source&& source,
8962
                        scan_format_string<Source, Args...> format,
8963
                        std::tuple<Args...>&& initial_args)
8964
    -> scan_result_type<Source, Args...>
8965
{
8966
    auto args = make_scan_args<scan_context, Args...>(SCN_FWD(initial_args));
8967
    auto result = vscan(loc, SCN_FWD(source), format, args);
8968
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8969
}
8970
8971
/**
8972
 * `scan` a single value, with default options.
8973
 *
8974
 * Essentially equivalent to: `scn::scan<T>(source, "{}")`,
8975
 * except it can skip parsing the format string, gaining performance.
8976
 *
8977
 * \ingroup scan
8978
 */
8979
template <typename T,
8980
          typename Source,
8981
          typename = std::enable_if_t<detail::is_file_or_narrow_range<Source>>>
8982
SCN_NODISCARD auto scan_value(Source&& source) -> scan_result_type<Source, T>
8983
354k
{
8984
354k
    T value;
8985
354k
    auto arg = detail::make_arg<scan_context>(value);
8986
354k
    SCN_TRY(it, vscan_value(SCN_FWD(source), arg));
8987
329k
    return scan_result{SCN_MOVE(it), std::tuple{SCN_MOVE(value)}};
8988
354k
}
_ZN3scn2v310scan_valueIaNS0_6ranges6detail9subrange_8subrangeIPKcS7_EEvEENS0_13scan_expectedINS0_11scan_resultINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESH_NS0_6detail22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEJT_EEEEEOSD_
Line
Count
Source
8983
5.38k
{
8984
5.38k
    T value;
8985
5.38k
    auto arg = detail::make_arg<scan_context>(value);
8986
5.38k
    SCN_TRY(it, vscan_value(SCN_FWD(source), arg));
8987
4.67k
    return scan_result{SCN_MOVE(it), std::tuple{SCN_MOVE(value)}};
8988
5.38k
}
_ZN3scn2v310scan_valueIhNS0_6ranges6detail9subrange_8subrangeIPKcS7_EEvEENS0_13scan_expectedINS0_11scan_resultINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESH_NS0_6detail22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEJT_EEEEEOSD_
Line
Count
Source
8983
4.49k
{
8984
4.49k
    T value;
8985
4.49k
    auto arg = detail::make_arg<scan_context>(value);
8986
4.49k
    SCN_TRY(it, vscan_value(SCN_FWD(source), arg));
8987
3.78k
    return scan_result{SCN_MOVE(it), std::tuple{SCN_MOVE(value)}};
8988
4.49k
}
_ZN3scn2v310scan_valueIiNS0_6ranges6detail9subrange_8subrangeIPKcS7_EEvEENS0_13scan_expectedINS0_11scan_resultINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESH_NS0_6detail22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEJT_EEEEEOSD_
Line
Count
Source
8983
6.21k
{
8984
6.21k
    T value;
8985
6.21k
    auto arg = detail::make_arg<scan_context>(value);
8986
6.21k
    SCN_TRY(it, vscan_value(SCN_FWD(source), arg));
8987
5.50k
    return scan_result{SCN_MOVE(it), std::tuple{SCN_MOVE(value)}};
8988
6.21k
}
_ZN3scn2v310scan_valueIjNS0_6ranges6detail9subrange_8subrangeIPKcS7_EEvEENS0_13scan_expectedINS0_11scan_resultINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESH_NS0_6detail22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEJT_EEEEEOSD_
Line
Count
Source
8983
4.93k
{
8984
4.93k
    T value;
8985
4.93k
    auto arg = detail::make_arg<scan_context>(value);
8986
4.93k
    SCN_TRY(it, vscan_value(SCN_FWD(source), arg));
8987
4.23k
    return scan_result{SCN_MOVE(it), std::tuple{SCN_MOVE(value)}};
8988
4.93k
}
_ZN3scn2v310scan_valueIxNS0_6ranges6detail9subrange_8subrangeIPKcS7_EEvEENS0_13scan_expectedINS0_11scan_resultINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESH_NS0_6detail22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEJT_EEEEEOSD_
Line
Count
Source
8983
6.32k
{
8984
6.32k
    T value;
8985
6.32k
    auto arg = detail::make_arg<scan_context>(value);
8986
6.32k
    SCN_TRY(it, vscan_value(SCN_FWD(source), arg));
8987
5.61k
    return scan_result{SCN_MOVE(it), std::tuple{SCN_MOVE(value)}};
8988
6.32k
}
_ZN3scn2v310scan_valueIyNS0_6ranges6detail9subrange_8subrangeIPKcS7_EEvEENS0_13scan_expectedINS0_11scan_resultINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESH_NS0_6detail22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEJT_EEEEEOSD_
Line
Count
Source
8983
5.00k
{
8984
5.00k
    T value;
8985
5.00k
    auto arg = detail::make_arg<scan_context>(value);
8986
5.00k
    SCN_TRY(it, vscan_value(SCN_FWD(source), arg));
8987
4.29k
    return scan_result{SCN_MOVE(it), std::tuple{SCN_MOVE(value)}};
8988
5.00k
}
_ZN3scn2v310scan_valueIaNS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS8_PKS9_lLl4096EEESD_EEvEENS0_13scan_expectedINS0_11scan_resultINS6_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESM_NS0_6detail22borrowed_tail_subrangeISI_Xsr6rangesE14borrowed_rangeISI_EEE4typeEE4typeEJT_EEEEEOSI_
Line
Count
Source
8983
5.37k
{
8984
5.37k
    T value;
8985
5.37k
    auto arg = detail::make_arg<scan_context>(value);
8986
5.37k
    SCN_TRY(it, vscan_value(SCN_FWD(source), arg));
8987
4.67k
    return scan_result{SCN_MOVE(it), std::tuple{SCN_MOVE(value)}};
8988
5.37k
}
_ZN3scn2v310scan_valueIhNS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS8_PKS9_lLl4096EEESD_EEvEENS0_13scan_expectedINS0_11scan_resultINS6_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESM_NS0_6detail22borrowed_tail_subrangeISI_Xsr6rangesE14borrowed_rangeISI_EEE4typeEE4typeEJT_EEEEEOSI_
Line
Count
Source
8983
4.48k
{
8984
4.48k
    T value;
8985
4.48k
    auto arg = detail::make_arg<scan_context>(value);
8986
4.48k
    SCN_TRY(it, vscan_value(SCN_FWD(source), arg));
8987
3.78k
    return scan_result{SCN_MOVE(it), std::tuple{SCN_MOVE(value)}};
8988
4.48k
}
_ZN3scn2v310scan_valueIiNS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS8_PKS9_lLl4096EEESD_EEvEENS0_13scan_expectedINS0_11scan_resultINS6_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESM_NS0_6detail22borrowed_tail_subrangeISI_Xsr6rangesE14borrowed_rangeISI_EEE4typeEE4typeEJT_EEEEEOSI_
Line
Count
Source
8983
6.01k
{
8984
6.01k
    T value;
8985
6.01k
    auto arg = detail::make_arg<scan_context>(value);
8986
6.01k
    SCN_TRY(it, vscan_value(SCN_FWD(source), arg));
8987
5.30k
    return scan_result{SCN_MOVE(it), std::tuple{SCN_MOVE(value)}};
8988
6.01k
}
_ZN3scn2v310scan_valueIjNS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS8_PKS9_lLl4096EEESD_EEvEENS0_13scan_expectedINS0_11scan_resultINS6_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESM_NS0_6detail22borrowed_tail_subrangeISI_Xsr6rangesE14borrowed_rangeISI_EEE4typeEE4typeEJT_EEEEEOSI_
Line
Count
Source
8983
4.91k
{
8984
4.91k
    T value;
8985
4.91k
    auto arg = detail::make_arg<scan_context>(value);
8986
4.91k
    SCN_TRY(it, vscan_value(SCN_FWD(source), arg));
8987
4.21k
    return scan_result{SCN_MOVE(it), std::tuple{SCN_MOVE(value)}};
8988
4.91k
}
_ZN3scn2v310scan_valueIxNS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS8_PKS9_lLl4096EEESD_EEvEENS0_13scan_expectedINS0_11scan_resultINS6_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESM_NS0_6detail22borrowed_tail_subrangeISI_Xsr6rangesE14borrowed_rangeISI_EEE4typeEE4typeEJT_EEEEEOSI_
Line
Count
Source
8983
6.11k
{
8984
6.11k
    T value;
8985
6.11k
    auto arg = detail::make_arg<scan_context>(value);
8986
6.11k
    SCN_TRY(it, vscan_value(SCN_FWD(source), arg));
8987
5.41k
    return scan_result{SCN_MOVE(it), std::tuple{SCN_MOVE(value)}};
8988
6.11k
}
_ZN3scn2v310scan_valueIyNS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS8_PKS9_lLl4096EEESD_EEvEENS0_13scan_expectedINS0_11scan_resultINS6_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESM_NS0_6detail22borrowed_tail_subrangeISI_Xsr6rangesE14borrowed_rangeISI_EEE4typeEE4typeEJT_EEEEEOSI_
Line
Count
Source
8983
4.97k
{
8984
4.97k
    T value;
8985
4.97k
    auto arg = detail::make_arg<scan_context>(value);
8986
4.97k
    SCN_TRY(it, vscan_value(SCN_FWD(source), arg));
8987
4.27k
    return scan_result{SCN_MOVE(it), std::tuple{SCN_MOVE(value)}};
8988
4.97k
}
_ZN3scn2v310scan_valueIfNS0_6ranges6detail9subrange_8subrangeIPKcS7_EEvEENS0_13scan_expectedINS0_11scan_resultINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESH_NS0_6detail22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEJT_EEEEEOSD_
Line
Count
Source
8983
33.2k
{
8984
33.2k
    T value;
8985
33.2k
    auto arg = detail::make_arg<scan_context>(value);
8986
33.2k
    SCN_TRY(it, vscan_value(SCN_FWD(source), arg));
8987
31.0k
    return scan_result{SCN_MOVE(it), std::tuple{SCN_MOVE(value)}};
8988
33.2k
}
_ZN3scn2v310scan_valueIdNS0_6ranges6detail9subrange_8subrangeIPKcS7_EEvEENS0_13scan_expectedINS0_11scan_resultINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESH_NS0_6detail22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEJT_EEEEEOSD_
Line
Count
Source
8983
34.4k
{
8984
34.4k
    T value;
8985
34.4k
    auto arg = detail::make_arg<scan_context>(value);
8986
34.4k
    SCN_TRY(it, vscan_value(SCN_FWD(source), arg));
8987
32.2k
    return scan_result{SCN_MOVE(it), std::tuple{SCN_MOVE(value)}};
8988
34.4k
}
_ZN3scn2v310scan_valueIeNS0_6ranges6detail9subrange_8subrangeIPKcS7_EEvEENS0_13scan_expectedINS0_11scan_resultINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESH_NS0_6detail22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEJT_EEEEEOSD_
Line
Count
Source
8983
35.3k
{
8984
35.3k
    T value;
8985
35.3k
    auto arg = detail::make_arg<scan_context>(value);
8986
35.3k
    SCN_TRY(it, vscan_value(SCN_FWD(source), arg));
8987
33.1k
    return scan_result{SCN_MOVE(it), std::tuple{SCN_MOVE(value)}};
8988
35.3k
}
_ZN3scn2v310scan_valueIfNS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS8_PKS9_lLl4096EEESD_EEvEENS0_13scan_expectedINS0_11scan_resultINS6_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESM_NS0_6detail22borrowed_tail_subrangeISI_Xsr6rangesE14borrowed_rangeISI_EEE4typeEE4typeEJT_EEEEEOSI_
Line
Count
Source
8983
36.1k
{
8984
36.1k
    T value;
8985
36.1k
    auto arg = detail::make_arg<scan_context>(value);
8986
36.1k
    SCN_TRY(it, vscan_value(SCN_FWD(source), arg));
8987
33.8k
    return scan_result{SCN_MOVE(it), std::tuple{SCN_MOVE(value)}};
8988
36.1k
}
_ZN3scn2v310scan_valueIdNS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS8_PKS9_lLl4096EEESD_EEvEENS0_13scan_expectedINS0_11scan_resultINS6_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESM_NS0_6detail22borrowed_tail_subrangeISI_Xsr6rangesE14borrowed_rangeISI_EEE4typeEE4typeEJT_EEEEEOSI_
Line
Count
Source
8983
37.8k
{
8984
37.8k
    T value;
8985
37.8k
    auto arg = detail::make_arg<scan_context>(value);
8986
37.8k
    SCN_TRY(it, vscan_value(SCN_FWD(source), arg));
8987
35.6k
    return scan_result{SCN_MOVE(it), std::tuple{SCN_MOVE(value)}};
8988
37.8k
}
_ZN3scn2v310scan_valueIeNS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS8_PKS9_lLl4096EEESD_EEvEENS0_13scan_expectedINS0_11scan_resultINS6_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESM_NS0_6detail22borrowed_tail_subrangeISI_Xsr6rangesE14borrowed_rangeISI_EEE4typeEE4typeEJT_EEEEEOSI_
Line
Count
Source
8983
38.6k
{
8984
38.6k
    T value;
8985
38.6k
    auto arg = detail::make_arg<scan_context>(value);
8986
38.6k
    SCN_TRY(it, vscan_value(SCN_FWD(source), arg));
8987
36.4k
    return scan_result{SCN_MOVE(it), std::tuple{SCN_MOVE(value)}};
8988
38.6k
}
_ZN3scn2v310scan_valueINSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EEvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESN_NS0_6detail22borrowed_tail_subrangeISJ_Xsr6rangesE14borrowed_rangeISJ_EEE4typeEE4typeEJT_EEEEEOSJ_
Line
Count
Source
8983
22.8k
{
8984
22.8k
    T value;
8985
22.8k
    auto arg = detail::make_arg<scan_context>(value);
8986
22.8k
    SCN_TRY(it, vscan_value(SCN_FWD(source), arg));
8987
21.8k
    return scan_result{SCN_MOVE(it), std::tuple{SCN_MOVE(value)}};
8988
22.8k
}
_ZN3scn2v310scan_valueINSt3__117basic_string_viewIcNS2_11char_traitsIcEEEENS0_6ranges6detail9subrange_8subrangeIPKcSC_EEvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESL_NS0_6detail22borrowed_tail_subrangeISH_Xsr6rangesE14borrowed_rangeISH_EEE4typeEE4typeEJT_EEEEEOSH_
Line
Count
Source
8983
22.8k
{
8984
22.8k
    T value;
8985
22.8k
    auto arg = detail::make_arg<scan_context>(value);
8986
22.8k
    SCN_TRY(it, vscan_value(SCN_FWD(source), arg));
8987
21.8k
    return scan_result{SCN_MOVE(it), std::tuple{SCN_MOVE(value)}};
8988
22.8k
}
_ZN3scn2v310scan_valueINSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEENS0_6ranges6detail9subrange_8subrangeINS2_16__deque_iteratorIcPKcRSE_PKSF_lLl4096EEESJ_EEvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESS_NS0_6detail22borrowed_tail_subrangeISO_Xsr6rangesE14borrowed_rangeISO_EEE4typeEE4typeEJT_EEEEEOSO_
Line
Count
Source
8983
28.3k
{
8984
28.3k
    T value;
8985
28.3k
    auto arg = detail::make_arg<scan_context>(value);
8986
28.3k
    SCN_TRY(it, vscan_value(SCN_FWD(source), arg));
8987
27.2k
    return scan_result{SCN_MOVE(it), std::tuple{SCN_MOVE(value)}};
8988
28.3k
}
8989
8990
/**
8991
 * `scan` a single value, with default options, and a default value.
8992
 *
8993
 * \ingroup scan
8994
 */
8995
template <typename T,
8996
          typename Source,
8997
          std::enable_if_t<detail::is_file_or_narrow_range<Source>>* = nullptr>
8998
SCN_NODISCARD auto scan_value(Source&& source, T initial_value)
8999
    -> scan_result_type<Source, T>
9000
{
9001
    auto arg = detail::make_arg<scan_context>(initial_value);
9002
    SCN_TRY(it, vscan_value(SCN_FWD(source), arg));
9003
    return scan_result{SCN_MOVE(it), std::tuple{SCN_MOVE(initial_value)}};
9004
}
9005
9006
/**
9007
 * Scan from `stdin`.
9008
 *
9009
 * Equivalent to `scn::scan<...>(stdin, ...)`.
9010
 *
9011
 * \code{.cpp}
9012
 * auto result = scn::input<int>("{}");
9013
 * \endcode
9014
 *
9015
 * \ingroup scan
9016
 */
9017
template <typename... Args>
9018
SCN_NODISCARD auto input(scan_format_string<std::FILE*, Args...> format)
9019
    -> scan_result_type<std::FILE*, Args...>
9020
{
9021
    auto args = make_scan_args<scan_context, Args...>();
9022
    auto err = vinput(format, args);
9023
    if (SCN_UNLIKELY(!err)) {
9024
        return unexpected(err);
9025
    }
9026
    return scan_result{stdin, SCN_MOVE(args.args())};
9027
}
9028
9029
/**
9030
 * Write msg to stdout, and call `input<Args...>(format)`
9031
 *
9032
 * \ingroup scan
9033
 */
9034
template <typename... Args>
9035
SCN_NODISCARD auto prompt(const char* msg,
9036
                          scan_format_string<std::FILE*, Args...> format)
9037
    -> scan_result_type<std::FILE*, Args...>
9038
{
9039
    std::printf("%s", msg);
9040
    std::fflush(stdout);
9041
    return input<Args...>(format);
9042
}
9043
9044
namespace detail {
9045
template <typename T>
9046
inline constexpr bool is_scan_int_type =
9047
    std::is_integral_v<T> && !std::is_same_v<T, char> &&
9048
    !std::is_same_v<T, wchar_t> && !std::is_same_v<T, char32_t> &&
9049
    !std::is_same_v<T, bool>;
9050
}
9051
9052
/**
9053
 * Fast integer reading.
9054
 *
9055
 * Quickly reads an integer from a `std::string_view`. Skips preceding
9056
 * whitespace.
9057
 *
9058
 * Reads in the specified base,
9059
 * allowing a base prefix. Set `base` to `0` to detect the base from the
9060
 * input. `base` must either be `0`, or in range `[2, 36]`.
9061
 *
9062
 * \ingroup scan
9063
 */
9064
template <typename T, std::enable_if_t<detail::is_scan_int_type<T>>* = nullptr>
9065
SCN_NODISCARD auto scan_int(std::string_view source, int base = 10)
9066
    -> scan_result_type<std::string_view, T>
9067
{
9068
    T value{};
9069
    SCN_TRY(it, detail::scan_int_impl(source, value, base));
9070
    return scan_result{ranges::subrange{it, source.end()}, std::tuple{value}};
9071
}
9072
9073
namespace detail {
9074
template <bool Val, typename T>
9075
inline constexpr bool dependent_bool = Val;
9076
}
9077
9078
/**
9079
 * Very fast integer reading.
9080
 *
9081
 * Quickly reads an integer from a `std::string_view`.
9082
 *
9083
 * Be very careful when using this one!
9084
 * Its speed comes from some very heavy assumptions about the validity of
9085
 * the input:
9086
 *  - `source` must not be empty.
9087
 *  - `source` contains nothing but the integer: no leading or trailing
9088
 *    whitespace, no extra junk. Leading `-` is allowed for signed types,
9089
 *    no `+` is allowed.
9090
 *  - The parsed value does not overflow.
9091
 *  - The input is a valid base-10 integer.
9092
 * Breaking these assumptions will lead to UB.
9093
 *
9094
 * \ingroup scan
9095
 */
9096
template <typename T, std::enable_if_t<detail::is_scan_int_type<T>>* = nullptr>
9097
SCN_NODISCARD auto scan_int_exhaustive_valid(std::string_view source) -> T
9098
{
9099
    static_assert(
9100
        detail::dependent_bool<!SCN_IS_BIG_ENDIAN, T>,
9101
        "scan_int_exhaustive_valid requires a little endian environment");
9102
    return detail::scan_int_exhaustive_valid_impl<T>(source);
9103
}
9104
9105
SCN_END_NAMESPACE
9106
}  // namespace scn